UTF-8≠Unicode
注意してください:
- ASCIIはISO8859-1のサブセットです。
- ASCIIはUnicodeのサブセットです。
- ASCIIはUTF-8のサブセットです。
- ISO8859-1はUnicodeのサブセットです。
- ISO8859-1はUTF-8のサブセットではありません。
- UnicodeはUTF-8と同じものではありません。
現代の用語の微妙な点に精通することを強くお勧めします。
それがあまりにも紛らわしい場合は、Radix-50を見てください。これは、Unicodeよりも数桁小さいレパートリーを持っていますが、それでも、Unicode、文字レパートリー、コード化された文字セットに関して人々を逃れる同じ微妙な点のいくつかを示しています。文字エンコード形式、および文字エンコードスキーム。
chars
文字を保持できないJava
あなたはJavaからこれに来ているので、これらがあなたの心の中で明確に分離された概念ではないことは本当にあなたのせいではありません。これは、Javaが、コード化された文字セットのabstactコードポイント(論理文字)を、特定の文字エンコード形式のダウンアンドダーティメカニズムから分離しないことによって、これらの問題を深刻に混乱させているためです。
Javaの論理文字との悲惨な混同はchars
、非常にエラーが発生しやすいものです。おそらく、Javaプログラマーが同じことを混同しているのは悲惨だと言った方が正確でしょう。いずれにせよ、今までに救済の希望はないようです。
必要に応じて、ヒステリックなネズミイルカのせいにしますが、それについて言える最も慈善的なことは、それが非常に残念であるということです。これらすべてのために、あなたのような善意のある完全に有能なプログラマーは、永遠に簡単に混乱するでしょう。そのため、単純で、明確で、間違ったJavaコードを継続的に記述します。
これらすべてについての教育は唯一の可能な緩和策ですが、それは本当の治療法ではありません。