Qraft (クラフト)

漢字モード

読み: カンジモード

漢字モード (Kanji Mode) は、QR コードが日本で生まれた技術であることを象徴するエンコードモードです。Shift JIS (JIS X 0208) に収録された漢字・ひらがな・カタカナ・全角記号を 1 文字あたり 13 ビットで格納できます。バイナリモードで同じ文字を UTF-8 エンコードすると 3 バイト (24 ビット) 必要なため、漢字モードは約 46% 少ないビット数で日本語を表現できます。

圧縮の仕組みは、Shift JIS のコードポイントから特定のオフセットを減算し、上位バイトを 0xC0 倍して下位バイトを加算した値を 13 ビットで表現する方式です。最大格納量はバージョン 40 で 1,817 文字です。

ただし、現代の実務では漢字モードが使われる場面は限定的です。理由は 2 つあります。第一に、Shift JIS は Unicode の一部しかカバーしておらず、絵文字や中国語簡体字、韓国語などは格納できません。第二に、多くの QR コードリーダーが UTF-8 を前提としており、Shift JIS でエンコードされたデータを正しくデコードできない場合があります。国際的な利用を想定する場合は、バイナリモード + UTF-8 の組み合わせが安全です。日本国内限定の用途で、かつ文字数を極限まで減らしたい場合にのみ漢字モードの利点が活きます。