機能 #20

zxing 多バイト文字のQRコード作成でUTF-8 を指定

h-akimoto amon約5年前に追加.

ステータス:解決開始日:2013/08/15
優先度:通常期日:
担当者:h-akimoto amon進捗 %:

0%

カテゴリ:-
対象バージョン:-

説明

zxingは、C#ソースが提供されるほか、
バーコード等のイメージデータ作成機能がある点、長所である。

QRコードについて、文字セットのエンコードではまったが、以下でいける。

1.QRコードに多バイト文字を含む場合、通常、QRコードはUTF-8でエンコードしている。
2.zxingのQRコード作成時のエンコードでは、デフォルトでUTF-8で動作しなかった。
3.zxingのQRデコードはデフォルトでUTF-8で動作した。
4.C#は(.NETは!?)文字列を内部コード上、UTF-8で保持している。

つまり、2.だけがを対処を要した。

string value = "日本語のQRコード値";
Hashtable hints = new Hashtable();
hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
com.google.zxing.qrcode.QRCodeWriter qrCode = new com.google.zxing.qrcode.QRCodeWriter();
com.google.zxing.common.ByteMatrix byteIMG = qrCode.encode(value, com.google.zxing.BarcodeFormat.QR_CODE, 240, 240, hints);

他の形式にエクスポート: Atom PDF