Unicode、UTF、ASCII、ANSI形式の違い 質問する

Unicode、UTF、ASCII、ANSI形式の違い 質問する

Unicode、、、、、、およびエンコーディングUTF8の違いはUTF7何ですか?UTF16UTF32ASCIIANSI

これらはプログラマーにとってどのような点で役立ちますか?

ベストアンサー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の問題をデバッグするためのヒント

コードのもう一つの大きなリソースはユニコードそこには、あなたが読みきれないほど多くの情報が含まれています。おそらく最も役立つ部分はコードチャート

おすすめ記事