各文字コード(UTF, Unicode, JIS)の違い

文字コードUTF-8, Unicode, JIS)の違い

システムをメンテしている際に外部システムとのファイル連携やアップロード時に文字コードの違いによるバグが発生したため文字コードについて整理してみた。

システムの設計フェーズにて何の文字コードを使うか明記しておくことの重要性を実感した。

 

コンピュータ上では、文字はそれぞれのビットパターンに割り当てられている。

例えばa ⇒ 0100 0001、b ⇒ 0100 0010など

 

文字コードによってそれぞれビットパターンや表現が異なる

文字コード

概要
ASCIIコード 数字・英字・記号を1バイトで表す
JIS 数字・英字・記号に加えてひらがな、カタカナ、漢字も表せる
EUC

UNIXで扱われる文字コード。各国の言語に対応している(EUC-JP)

Unicode

世界中の文字を統一。UTF-8, UTF-16, UTF-32などがある。

(それぞれ8, 16, 32ビット分の文字を表現することができる)

文字化け

アプリでファイルを開く際の違う文字コードで表示されることで文字化けが起こる。

sakuraエディタでEUC形式で保存したファイルをメモ帳でUnicode形式で表示するとそれぞれの文字に割り当てられているビットパターンが異なるため文字化けを起こす。