文字コードの基礎知識

目次

文字コードとは

文字コードとは、コンピュータで出力される文字をコンピュータが認識するために必要なコードのことを言います。1文字ごとに文字コードは割り当てられていて、さまざまな規格があります。

文字コードと文字エンコーディングの基礎

コンピュータは、文字を数字で表現します。この対応関係を定めたものが「文字コード」です。例えば、ASCIIコードでは、アルファベットの “A” は 65、”B” は 66 という数値に対応します。

しかし、文字コードだけでは、コンピュータ上でどのように文字を表現するかは決まりません。そこで、「文字エンコーディング」が登場します。文字エンコーディングは、文字コードで定義された数値を、コンピュータ上で実際にどのように表現するかを定める方式です。

エンコーディングは、文字コードの表示方法を決める役割があります。

ASCII

ASCIIは1967年に定められた文字コードの形式です。7ビットのシングルバイト文字コードで、コンピュータ上では7ビットまたは8ビットで保存されます。8ビット目が利用される場合、パリティビットとしてエラー検出に使われたり、拡張文字を表現するために使われたりします。ASCIIはタイプライターで使用されることを想定して作られましたが、その表現力の限界から、様々な拡張方法が生み出されました。

ASCIIの拡張とUnicodeの誕生

ASCⅡの拡張として、

例えば、IBM PCでは、8ビット目を活用して128種類の文字を追加したコードページ437が使用されました。また、日本語を表現するために、JIS X 0201やShift_JISなどの文字コードが開発されました。日本語など、文字の種類が多い言語はマルチバイトエンコーディングにより、コンピュータ上で文字を表現されています。これらの文字コードは、ASCIIをベースにしながらも、それぞれの国の言語や文化に合わせて文字を追加しています。例えば、Shift-JISでは、半角カタカナは1バイト、ひらがな・漢字は2バイトで表現されます。

しかし、これらの拡張は互換性がなく、異なる文字コード間でのデータ交換が困難でした。そこで、世界中の文字を統一的に扱うためにUnicodeが開発されました。Unicodeは、ASCIIを包含しつつ、世界中の文字を表現できる文字コード体系であり、現在では国際的な標準となっています。

Unicode

Unicodeは、世界中の文字を統一的に扱うための文字コード規格です。ASCIIを包含しつつ、世界中の文字を表現できる文字コード体系であり、現在では国際的な標準となっています。また、UTF-8、UTF-16、UTF-32 などの文字エンコーディングが使用されます。

  • UTF-8: 最も広く使用されている文字エンコーディングです。1文字を1~4バイトで表現します。ASCII 文字は1バイト、日本語などの多くの文字は3バイトで表現されます。
  • UTF-16: 1文字を2バイトまたは4バイトで表現します。Java や Windows などで使用されています。
  • UTF-32: 1文字を4バイトで表現します。すべての文字を固定長で表現できるという利点がありますが、容量が大きくなるという欠点もあります。

文字エンコーディングの重要性

文字エンコーディングを正しく設定しないと、文字化けが発生します。文字化けとは、文字が正しく表示されない現象です。例えば、日本語の文章を Shift-JIS でエンコードしたファイルを、UTF-8 でデコードすると、文字化けが発生します。

文字化けを防ぐためには、ファイルを作成する際や、Webページを表示する際に、正しい文字エンコーディングを指定する必要があります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次