私のテキストエディタでは、Ansi、UTF-8、UTF-8(BOMなし)、UTF-16LE、およびUTF-16BEのいくつかの異なる文字形式でコーディングできます。
それらの違いは何ですか?
一般的に最良のフォーマットと見なされているものは何ですか(違いが生じる場合はPythonを使用しています)?
一般的に言えば、UTF-8は全体的に優れた選択肢であり、幅広い互換性があります(BOMを記述しないように注意してください。これは、他のほとんどのソフトウェアが期待していることです)。
テキストの大部分が非ASCII文字で構成されている場合(つまり、基本ラテンアルファベットを使用していない場合)、UTF-16はより少ないスペースを使用できます。
「Ansi」は、Unicodeをサポートしていないレガシーアプリケーションと対話する必要がある場合にのみ使用してください。
エンコーディングに関する重要なことは、データに加えて通信する必要があるメタデータであるということです。これは、テキストとして正しく解釈するには、バイトストリームのエンコーディングを知っている必要があることを意味します。したがって、使用される実際のエンコーディングを文書化するフォーマットを使用するか(XMLはここでの代表的な例です) 、特定のコンテキストで単一のエンコーディングを標準化し、それのみを使用する必要があります。
たとえば、ソフトウェアプロジェクトを開始する場合は、すべてのソースコードが特定のエンコーディングであるように指定して(ここでもUTF-8をお勧めします)、それを維持できます。
特にPythonファイルの場合、ソースファイルのエンコーディングを指定する方法があります。
ここに。「ANSI」は通常CP1252であることに注意してください。
UTF-8 No BOMを使用すると、おそらく最大のユーティリティが得られます。ANSIとASCIIが存在することを忘れてください、それらは非推奨の恐竜です。