java利用zxing来生成和解析二维码,支持中文

本文介绍了如何在Java中使用ZXing库生成和解析包含中文的二维码,避免修改库源码,只需在编码和解码时转换中文字符串。提供了完整的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java在二维码的生成和解析上,网上有些人说如果要解析中文,得去修改工具包的Encoder类中的 static final String DEFAULT_BYTE_MODE_ENCODING = "ISO8859-1";
将编码改成utf-8或者gbk,这种方式可行,不过破坏了封装的原则,而且还得重新编译,特别是这种依赖于第三方的东西,如果谷歌将zXing包又升级了,而你也想跟着升级
到最新的版本,是不是又得去改一次那个编码,然后再编译一次替换,这样的话这种处理方式不是那么的方便,事实上其实可以不用去改里面的编码,我们只要在解析和

生成的时候将中文字符串转化一下就可以了,下面是java利用zxing包对相关信息生成和解析二维码的一个简单代码,可参照一下,暂时我就用这种方式处理

package com.gen;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Map;

import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值