トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

UTF-8

[カテゴリ:仕様]

UTF-8は、Unicodeの符号化方式のひとつです。Unicode符号位置 (大まかに言うと文字に対応) ひとつにつき、1バイトから4バイトまでの長さを取る可変長のコードです。

JIS X 0213との関係

現在のUnicodeJIS X 0213の文字を全て含んでいるため、UTF-8JIS 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秒