2012-01-22 12 views
0

私はファイルを持って長いコンテンツ(16進形式で4つの8ビット値)を以下にdata.txtを呼ばれる4バイト:notepadはこのファイルを非latin1としてエンコードしているのはなぜですか?

31 09 31 09

私は、このファイルをメモ帳で(だけでなく、超編集スタジオ)オープン1 <tab> 1 <tab>

どのようなロジックの先頭3109が非latin1文字セットの表示として解釈されるのでしょうか?

+0

「1つの正方形」がlatin1に相当するのはなぜですか?あなたのエディタは、正しいエンコーディングを推測するのにちょっとひどいですか? – deceze

+0

私は疑わしいので、編集者は最初の2バイトをエンコーディングインジケータ(UTF-16、私は疑わしい)として扱い、次に最後の2バイトをUnicode文字として扱います。私はメモ帳(WinXP 32ビット)が憶測でひどくなることを期待していますが、UEStudioは同じことをするので正当な振る舞いであると思われます。 –

答えて

0

短い答えは、メモ帳がエンコーディングを推測し、よく間違っていると推測します。これについては数多くの議論があります。 Google for 例えば、メモ帳の文字コード。推測が間違っている理由をそれぞれ具体的に説明するのは難しいです。さらに、状況はWindowsのバージョンによって異なり、他のものにも依存する可能性があります。私の環境(Win 7、Finnish版)では、特定の問題は表示されません。これらの4バイトのファイルは通常メモ帳で開きます。

ファイルのエンコーディングが分かっている場合は、メモ帳を起動して[開く]コマンドを発行し、ドロップダウンメニューからエンコーディングを選択します。メモ帳がエンコードをサポートしていない場合は、別のエディタを使用してください。

関連する問題