Zxing Project是一个着名的开源,多格式1D / 2D条码图像处理库,用Java实现,具有其他语言的端口。但我相信有人像我一样有同样的问题:我无法在Qrcode中编码UTF-8字符。
如何使用Zxing项目在QR码中使用UTF-8编码字符?
答案 0 :(得分:12)
这样做的正确方法是使用提示:
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
然后在encode
类中调用此版本的QRCodeWriter
:
encode(String contents, BarcodeFormat format, int width, int height,Hashtable hints)
答案 1 :(得分:3)
utf-8
进行编码时,您需要使用小写UTF-8
而不是大写ZXing
。或者某些扫描仪如支付宝无法读取它。
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
答案 2 :(得分:0)
我发现有一个更简单的API:
.withCharset("utf-8")
示例:
Bitmap bitmap = QRCode.from([string])
.withSize([width], [height])
.withCharset("utf-8")
.bitmap();