ZXing 生成或读取二维码(解决中文乱码的问题)
(一)zxing项目的介绍
ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。
Zxing可以解析的条码如下:
§ UPC-A and UPC-E
§ EAN-8 and EAN-13
§ Code 39
§ Code 128
§ QR Code
目前也也有实验支持DataMatrix和ITF编码。
你可以在
http://code.google.com/p/zxing/ 下载
(二)zxing项目库的组成部分
core: core decoding library, and the main component of the entire project
javame: JavaME client
javase: J2SE-specific client code
android: Android client (1.0 SDK)
androidtest: Android test app (1.0 SDK)
rim: RIM/Blackberry-specific client build
iphone: iPhone client + port to Objective C / C++ (QR code only)
zxingorg: The source behind zxing.org/w
zxing.appspot.com: The source behind our barcode generator
(三)ZXING 生成二维码
public class ZxingEncoderHandler { public void encode(String contents, int width, int height, String imgPath) { try { BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height); MatrixToImageWriter .writeToFile(bitMatrix, "png", new File(imgPath)); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { String imgPath = "d:/qrcode.png"; String contents = "您好!微信湖:http://www.weixinhu.net/"; try { // 如果不用更改源码,将字符串转换成ISO-8859-1编码 contents = new String(contents.getBytes("UTF-8"), "ISO-8859-1"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } int width = 300, height = 300; ZxingEncoderHandler handler = new ZxingEncoderHandler(); handler.encode(contents, width, height, imgPath); System.out.println("生成二维码成功!"); } }
(四)ZXING 解析二维码
public class ZxingDecoderHandler { public String decode(String imgPath) { BufferedImage image = null; Result result = null; try { image = ImageIO.read(new File(imgPath)); LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>(); // 注意要使用 utf-8,因为刚才生成二维码时,使用了utf-8 hints.put(DecodeHintType.CHARACTER_SET, "utf-8"); result = new MultiFormatReader().decode(bitmap, hints); return result.getText(); } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] args) { String imgPath = "d:/qrcode.png"; ZxingDecoderHandler handler = new ZxingDecoderHandler(); String decodeContent = handler.decode(imgPath); System.out.println("二维码内容:"); System.out.println(decodeContent); System.out.println("解析二维码成功!"); } }
(五)、附件源码
相关推荐
这是Zxing的源码,没有打包成jar利于学习使用。...使用时注意path的默认地址,Main类中是生成二维码的代码,GetMain类中是读取二维码的代码。 eclipse中Ctrl+Shift+R快速查找类 希望对你有所帮助。
ZXing生成,读取二维码,core.jar,javase .jar内有测试文件
zxing.net 最新版生成二维码,读取二维码,读取多个二维码。0.16.8版本。添加函数。
利用 zxing.net 生成读取二维码和条形码 ,完整示例
谷歌zxing 生成\解析 二维码 ,包括 MatrixToImageWriter,BufferedImageLuminanceSource方法
google.zxing自定义生成微信二维码,可以把二维码拼接到你想要的图片上重新生成一张带二维码的图
完美使用zxing生成二维码,可带logo,可解码,不仅如此,其中QRcode.java还可以用于生成二维码名片
1.zxing框架代码已简化,只保留了核心代码 2.包含zxing的核心包(中文乱码问题已处理) 3.有详细的使用方法 4.有详细的项目集成方法
zxing中扫瞄二维码图片,如果包含Gbk中文,乱码解决办法是修改DecodedBitStreamParser.h文件,在里面加入GBK的判断。 在2.1版本中,解码的定义不在这个类中了,挪到了StringUtils类中,所以需要修改这个类,在修改...
java使用zxing生成和解析二维码例子,java使用zxing生成和解析二维码例子,java使用zxing生成和解析二维码例子。
zxing生成二维码,带logo的二维码,图片Base64编码。qrcode生成二维码。
通常我们做二维码用qrcode.js的时候会出现中文乱码这个情况,只是因为本身qrcode.js这个包没有编译中文,现在调用utf16to8.js可以解决这个问题啦!经过本人测试时没问题的,如果有问题,可以私信联系我的!
解决zxing二维码pdf417中文乱码问题 编译.net 2.0 4.0
Zxing生成与解析二维码并带有中文详解,jar包与ZxingAPI
Android利用zxing生成二维码,识别二维码超详细、超简易demo,解压后用Android studio可直接打开,附教程:https://blog.csdn.net/mountain_hua/article/details/80646089
zxing 二维码 调用实例,解决低版本 白边问题,附上 jar 包 和 代码
JAVA生成Zxing二维码、读取二维码内容信息、利用二维码生成手机名片、生成带LOGO的二维码名片。附有效果图
Java实现二维码生成 1、支持QRcode、ZXing 二维码生成、解析; 2、QRCode 方式生成二维码支持添加图片
使用谷歌的zxing.jar包 二维码生成与读取 eclipse开发
1.详细的Demo 可正常扫描 2.zxing框架代码已简化,只保留了核心代码 ...2.包含zxing的核心包(中文乱码问题已处理) 3.有详细的扫描调用方法及说明 4.有详细的项目集成方法及说明 5.不明白可以直接看Demo