Unicode
、、、、、、およびエンコーディングUTF8
の違いはUTF7
何ですか?UTF16
UTF32
ASCII
ANSI
これらはプログラマーにとってどのような点で役立ちますか?
ベストアンサー1
リストを見ていくと:
- 「ユニコード「」はエンコーディングではありませんが、残念ながら、多くのドキュメントでは、特定のシステムがデフォルトで使用する Unicode エンコーディングを指すために不正確に使用されています。Windows と Java では、これは多くの場合 UTF-16 を意味し、他の多くの場所では UTF-8 を意味します。正確には、Unicode は特定のエンコーディングではなく、抽象的な文字セット自体を指します。
- UTF-16: 「コード単位」あたり2バイト。これは.NET、そして一般的にWindowsとJavaの文字列のネイティブフォーマットです。基本的な多言語面(BMP) はサロゲート ペアとしてエンコードされます。これらは以前はあまり使用されませんでしたが、現在では多くのコンシューマー アプリケーションで絵文字をサポートするために非 BMP 文字を認識する必要があります。
- UTF-8: 可変長エンコード、コード ポイントごとに 1 ~ 4 バイト。ASCII 値は 1 バイトを使用して ASCII としてエンコードされます。
- UTF-7: 通常はメールのエンコードに使用されます。メールを扱っていないのに必要だと考えているなら、それは間違いです。(これはニュースグループなどに投稿する人々に関する私の経験です。メール以外では、実際にはまったく広く使用されていません。)
- UTF-32: コードポイントごとに4バイトを使用する固定幅エンコード。これはあまり効率的ではありませんが、BMP以外では作業が楽になります。
Utf32String
私のプロジェクトには.NETクラスがあります。その他ユーティリティ必要に応じて、ライブラリを参照してください。(ただし、十分にテストされたわけではありません。) - アスキー: 下位 7 ビットのみを使用した 1 バイト エンコーディング。(Unicode コード ポイント 0 ~ 127) アクセントなどはありません。
- ANSI: ANSIエンコーディングは1つではなく、数多く存在します。通常、「ANSI」と言う場合、それは「システムのデフォルトのロケール/コードページ」を意味し、これは次のように取得されます。エンコーディング.デフォルト、そしてしばしばWindows-1252ただし、他のロケールでもかまいません。
さらに詳しく私のUnicodeページそしてUnicodeの問題をデバッグするためのヒント。
コードのもう一つの大きなリソースはユニコードそこには、あなたが読みきれないほど多くの情報が含まれています。おそらく最も役立つ部分はコードチャート。