二维码(QRCode)是 Quick Response Code(快速响应码) 的缩写,如今我们对它已经非常熟悉了。它常用于经过身份验证的快速在线支付。二维码使用四种标准化的编码模式(数字、字母数字、字节/二进制和汉字)来高效存储数据;也可以使用扩展模式。
一个 二维码 是黑白方块的一种排列,可以通过各种二维码扫描器读取,如今它非常方便,因为每部智能手机都有二维码扫描器应用程序。
用于生成二维码的库(ZXing)
ZXing("Zebra Crossing",斑马线) 是Java中流行的二维码处理 API。它的库包含多个组件,在我们的Java示例中,我们将使用其中的‘core’组件来创建二维码。
生成二维码的方法
下面的代码是创建二维码图像的一个示例。
- 从 这里 下载 ZXING 库。
- 在 Maven 文件 中添加 ZXING 依赖项。
com.google.zxing
core
3.3.0
com.google.zxing
javase
3.3.0
生成二维码并将其作为 jpg 文件 保存在本地文件夹中的程序
Java
CODEBLOCK_bf17040a
#### 输出结果:
输出文件将命名为 demo.jpg.
扫描此二维码,您将被重定向到主页。
生成二维码后,我们还可以使用 ZXing 库 读取二维码图像文件。下面是执行此操作的代码。
Java
“
// Java code to read the QR code
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class QRCode {
// Function to read the QR file
public static String readQR(String path, String charset,
Map hashMap)
throws Fi