UTF-8
[カテゴリ:仕様]
UTF-8は、Unicodeの符号化方式のひとつです。Unicodeの符号位置 (大まかに言うと文字に対応) ひとつにつき、1バイトから4バイトまでの長さを取る可変長のコードです。
JIS X 0213との関係
現在のUnicodeはJIS X 0213の文字を全て含んでいるため、UTF-8でJIS X 0213の文字全てを符号化することが可能です。
ただし、いくつかの文字はBMP外にあるため、UTF-8では4バイトに対応していることが必要です。BMPの範囲はUTF-8で3バイトまでで表現でき、なおかつ昔はBMPにしか文字が割り当てられていなかったため、UTF-8といっても3バイトまでしか対応していないことがあります。例えばMySQLでは utf8 と指定すると3バイトまでしか対応しません。4バイトに対応するには utf8mb4 と指定する必要があります。
コード変換
iconvコマンドでShift_JIS-2004のテキストデータをUTF-8に変換するには次のようにします。SJISからUTF-8に変換するときは常にこの指定を用いるのがおすすめです。
iconv -f SHIFT_JISX0213 -t UTF-8 < sjis.txt > utf8.txt
反対に、UTF-8からShift_JIS-2004にするには下記のようにします。
iconv -f UTF-8 -t SHIFT_JISX0213 < utf8.txt > sjis.txt
最終更新時間:2016年11月23日 14時57分11秒