Windowsのメモ帳ANSI、Unicodeの、違いは何これらの3つのモードのUTF-8エンコーディング?

著者:梁海の
リンクします。https://www.zhihu.com/question/20650946/answer/15745831は
出典:ほとんど知っている
著者が著作権を保有。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。
 

短い答え。詳細のいくつかを検証するための努力は、間違っている場合、また指摘しないでください。

単語提案:それは互換性の理由になると、メモ帳を使用していないが、専門的なテキストエディタでBOMなしのUTF-8として保存します。

 

それは、クロスプラットフォームの互換性のためである場合は、Windowsのメモ帳の文脈では、知っておく必要があります。

  • 現在のシステムロケールのレガシー(遺産)符号化に対応することを「ANSI」とは、いわゆる。[1]
  • リトルエンディアンUTF-16 BOMのとを指し、「ユニコード」、いわゆる。[2]
  • いわゆる "UTF-8" UTF-8のバンドBOMを指します。[3]

 

GBKおよびその他のレガシーはあなたがそうでなければ再使用できない何をしているかを知っているので、場合を除き、ほとんどのトラブルを符号化します。
UTF-16は、理論的には実際には非常に良いですが、また、バイト順序を示しますが、UTF-16は、すべての後に、一般的に使用されていません。
UTF-8コードの互換性は最高だろうが、Windowsの問題はそれほど頻繁にBOMを追加するために選ばれました。

そのため、クロスプラットフォームの互換性は実際には最高のメモ帳ではありません。
私たちは、メモ帳++とBOMなしのUTF-8に他の正常なプロのテキストエディタで保存をお勧めします。

また、テキスト場合はASCIIの範囲内のすべての文字は、実際には、メモ帳が同じのBOMなしで、いわゆる「ANSI」ファイル、およびASCIIまたはUTF-8を保存します。

 

私が読んルアンYifengの事は<文字エンコーディング注:ASCII、UnicodeとUTF-8>は確かに良く知られているが、記事では、彼が実際にUnicodeとUTF-8の間に完全に明確な関係はなかったことを見ることができました。彼はまだのWindowsの混乱の文言を見当違い。実際には、数年前、私は彼がまだ混乱し、そして最終的に彼らのウィキペディアを理解するために参照参照される記事を読んだ後。
そのため、記事は推奨されません。

 

文字セット(文字セット)とコーディング(符号化)について、いくつかの答えを混同見えました。

ASCIIの場合、GB 2312、Big5の、GBK 、 GB 18030レガシープログラムと文字セット符号化方式を使用して基本的に唯一のプログラム、等です。
例えば、ASCIIこの標準指定直接文字自体及び方法の文字エンコーディングは、そうスキームをエンコードする文字セットであるのみならず、およびGB 2312だけヤード領域文字セットの標準を形成するが、実際には、基本的にはEUC-CNを用いて符号化されますしたがって、「GB 2312」への言及はまた場合、文字セットとチェーンプログラムを符号化することと、GBKとGB 18030およびGB 2312プログラムと他の下位互換性は類似しています。
したがって、これらのレガシー・ソリューションの影響を受け、多くの人々は、文字セットとエンコーディングとの間の関係を理解することはできません。

Unicodeの文字セットとエンコーディングは明確に区別されています。ユニコード/ UCS標準は、最初の文字集合の規格を統一しました。ユニコード/ UCS規格は、UTF-8、UTF-16、UTF-32などの規格文書で「コード形式」と呼ぶいくつかの代替的な符号化方式を定義します。
したがって、ユニコード、同じテキストに基づいて、Unicode文字セットのためのプログラムは、符号化、伝送の様々な格納することができます。
「Unicodeは」符号化方式を参照するようにしてそう、不適切と誤解を招くです。

 

[1] Windowsの「ANSI」は、実際にWindowsのコードページであると言い、このモードは、次のロケールで、このようなジェーンとして、現在のロケール固有のコードに応じて選択されているがGBKです。これらのコードページは、「ANSI」は、Windowsのある自分自身と呼ばれるファウルの問題彼らは一貫していなければならないASCIIおよびASCIIの範囲です。
[2]リトルエンディアンUTF-16 BOMさんと「ユニコード」と呼ばれるには、Windowsでファウルの問題WindowsのWindows 2000は、そう、すでにUTF-16は、「UCS-2」この引数が不適切であったが、サロゲートペアをサポートするために最初からなっています。BMP 1996 UTF-16の範囲とすることができるコード内部UCS-2文字(BMP超えてエンコードされた文字のサロゲートペアを穿孔することによって、UTF-16)のユニコード/ ISO規格で置換されています。10年以上、私は......あなたは誤称を停止請うている
BOMの「UTF-8」として知られているでUTF-8に[3]をWindowsのファウル問題あなたはBOMを無視した場合、それはASCIIの範囲のASCIIと一致しています。参照:「BOM付きUTF-8」と「UTF-8の自由BOM」の違いは何ですか?https://www.zhihu.com/question/20167122

します。https://www.zhihu.com/question/20650946/answer/15745831から転載この記事

おすすめ

転載: www.cnblogs.com/shuguangyizhan/p/12640387.html