|
■No62528 (いま さん) に返信
> textファイルから文字コードを取得したいのですが方法がわかりません。
「文字コードを指定して、ファイルの内容を文字列として読み込む」ことや
「文字コードを指定して、文字列をテキストファイルとして書き込む」ことなら可能です。
しかし、ファイル(バイナリデータ)が表す文字コードを完全に判定することは無理でしょうね。
「Shift_JISデータの可能性がある」だとか、「Shift_JISである可能性が高い」とか、
「Shift_JIS または EUC-JP のどちらか」のように、推測を行うぐらいならできるかも知れませんが。
> シフトJISコードを取得したいのですが,方法はあるでしょうか?
シフトJIS の範囲外のバイナリが含まれていたら、シフトJIS ではない、と判断できます。
しかし逆に、そのファイルがシフトJISであると断定することはできません。
複数の文字コードにも解釈可能なパターンが多数ありえるからです。
"+MEIwRDBG-" という文字列は、Shift_JIS では 2B,4D,45,49,77,52,44,42,47,2D です。
"あいう" という文字列は、 UTF-7 では 2B,4D,45,49,77,52,44,42,47,2D です。
"ABC" という文字列は、Shift_JIS では 41,42,43 です。
"ABC" という文字列は、 UTF-8 では 41,42,43 または EF,BB,BF,41,42,43 です。
"珎瑕" という文字列は、Shift_JIS では E0,DD,E0,EA です。
"珈琲" という文字列は、 EUC-JP では E0,DD,E0,EA です。
"珈琲" という文字列は、Shift_JIS では E0,DB,E0,E8 です。
"獻琥" という文字列は、 EUC-JP では E0,DB,E0,E8 です。
|