Shift-JIS, UTF-8, CP932の違い

定期的にわからなくなるため、まとめる。

Shift-JIS

主に日本で使われる文字コードの一つで、ASCIIの英数字やいくつかの特殊文字に加えて、ほぼすべての日本語文字(漢字、ひらがな、カタカナ等)をカバーしている。しかし、その他の多くの言語や特殊な文字はカバーしていない。英数字は1バイト、日本語は主に2バイトで表現される。

Shift-JISでのバイト表現の例

「A」は0x41(16進数)、「1」は0x31と表される。これはASCIIと同じである。日本語の文字は2バイトで表現される。たとえば、「あ」は0x82A0、「漢」は0x8ABFなど。

Shift-JISが使われる事例

  • レガシーシステム

    • Shift-JISはかつて日本で広く使われていたため、古いシステムやソフトウェア、特に1990年代から2000年代初頭までのものは、Shift-JISで日本語を扱っていることが多い。
  • CSVファイル

  • ウェブページ

    • 一部の日本語のウェブページでは、まだShift-JISが使われていることがあります。特に、更新があまり行われない古いウェブサイトなどで見られる。
  • テキストエディタ

UTF-8

Unicodeを基にしていて、世界中のほとんどの言語、特殊文字をカバーしている。ASCII文字を1バイトで表現し、それ以外の文字は2バイト以上で表現する。日本語はほとんどが3バイトで表現する。また、UTF-8はASCIIとの互換性を持っていて、ASCII文字はUTF-8でも同じバイト値で表現される。

CP932

MicrosoftWindowsで使用するために開発した、日本語用の文字コードで、Shift-JISの拡張版である。Shift-JISでは表現できない一部の文字や記号を含んでいる。また、一部の文字や記号がShift-JISとは異なるコードで表現されているため、完全にShift-JISと互換性があるわけではない。

GPT4の解答

chat.openai.com