奥が深い文字コード

みなさんこんにちは!

文字コードとは

例えば、「あ」という文字を相手に送信した場合、自分の画面で見えている文字の形と相手に見えている文字の形は違います。なぜかというと、手紙の受け渡しのように「あ」という文字そのものを送っているのではなく「あ」という抽象的な表現を数字で決めてその値を送っているからです。例えば、「あ」を「00000001」とするなどです。一般的には16進数で「0x01」とします。16進数にする理由は、2進数の4桁を16進では一桁で表すことができ、短縮して表記しやすく人間も理解しやすいからです。コンピュータがその数字から画面上に「あ」という文字を表示しますが、その時にゴシック体で表すのか、明朝体で表すのかといったことは数値を受け取った後にコンピュータが決定しているのです。

種類

そもそもなぜ文字コードにはこんなにも多くの種類が存在sするのでしょうか。これははじめは米国でインターネットが開発されたため、最初は英語のみを扱うだけでよかったためにアルファベットと数字を中心とした文字コードでさまざまなシステムが開発されました。しかし時代が変化するにつれて多くの言語に対応するシステムが必要になりました。そのため各国が自国用に文字コードを作成した結果多くの文字コードが存在してしまったのです。現在でもそれらをまとめて世界標準を作ろうという動きがあります。

文字集合

ASCII

IT黎明期に開発された文字集合=符号化文字列です。アメリカで開発されたため英数字36+特殊文字で7bitで表現されます。

符号化方式

文字集合符号化方式
JIS X 02018ビット符号
7ビット符号
JIS X 0208漢字用7ビット符号
EUC-JP
ISO-2022-JP
Shift_JIS
UnicodeUTF-16
UTF-32
UTF-8
文字集合と符号化方式

Shift-jis

漢字を組み込んでおり、文字集合≠符号化文字列です。これが話をややこしくしているのです。

UTF-8

現在の世界標準といっていいでしょう。3byteで表現します。

BOMとは

UTF-8にはBOMありとBOMなしがあります。Windowsのメモ帳などでファイルを保存するときに選択することができます。

まとめ

いかがだったでしょうか。
今回は文字コードについてご紹介しました。
それではまたお会いしましょう。