5 に答える
ファイルにこれらの 3 バイトしか含まれていない場合は、使用するエンコードに関する情報がまったくありません。
バイトは単なるバイトであり、エンコード情報を含める方法はありません。さらに、16 進エディタは、データをテキストとしてデコードする意図があることさえ知りません。
メモ帳は通常 ANSI エンコーディングを使用するため、ファイルを UTF-8 として読み取る場合、ファイル内のデータに基づいてエンコーディングを推測する必要があります。
ファイルを UTF-8 として保存すると、メモ帳はEF BB BF
ファイルの先頭に BOM (バイト オーダー マーク) を配置します。
メモ帳は、知識に基づいた推測を行います。詳細はわかりませんが、最初の数キロバイトをロードして UTF-8 から変換しようとするのは非常に簡単なので、おそらくそれに似た動作をします。
ファイルが UTF-8 かどうかを確認する簡単で効率的な方法があります。ウィキペディア: http://en.wikipedia.org/w/index.php?title=UTF-8&oldid=581360767#Advantagesの 4 番目の箇条書きを参照してください。メモ帳はおそらくこれを使用します。
ウィキペディアは、メモ帳が IsTextUnicode 関数を使用したと主張しています。この関数は、特定のテキストが UTF-16 で書かれているかどうかをチェックします (Windows Vista では使用を停止した可能性があり、「ブッシュが事実を隠した」バグが修正されました): http://en. wikipedia.org/wiki/Bush_hid_the_facts .
...そして時々それは間違っています... https://ychittaranjan.wordpress.com/2006/06/20/buggy-notepad/
ファイルがどのエンコーディングであるかを識別する方法....?
ファイルに移動して [名前を付けて保存... ]を試すと、ファイルのデフォルト (現在の) エンコーディング (ファイルが保存されているエンコーディング) が表示されます。