tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: ファイルパスの機種依存文字を取得する方法について
投稿日: 2014/11/29(Sat) 15:56
投稿者魔界の仮面弁士
> 機種依存文字を取得する方法を考えています。

文字列が、Shift_JIS として文字化けするかどうかを判定するための関数を作ってみました。

半角カナとか、NECのIBM拡張文字とか、x-mac-japanese などが原因で生じる
機種依存文字をチェックするものでは無いという点にはご注意下さい。



下記の関数は、文字列の内容すべてが、Shift_JIS として扱える文字列ならば True を返します。
Shift_JIS 範囲外の Unicode 文字を含んでいた場合は False を返します。
(たとえば、No16033 の例に挙げた「ニイハオ」を渡すと False が返されます。


Option Explicit

'指定した文字列が、CP932(Shift_JIS)で表現可能かどうかを判断する。
' 戻り値が False の場合、Shift_JIS で表せない文字が混入している。
Public Function CanConvertSJIS(ByVal Text As String) As Boolean
    With CreateObject("ADODB.Stream")
        .Open
        .Charset = "Shift_JIS"
        .WriteText Text
        .Position = 0
        CanConvertSJIS = (.ReadText() = Text)
        .Close
    End With
End Function

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。