C# 生成和解析二维码

时间:2021-08-08 16:13:32

下面是C#和JAVA两个版本的开放源码下载:

C#:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library

JAVA:https://github.com/zxing/zxing

本人只测试过了C#版本的,下面是测试过程中遇到的问题以及解决办法:

1、第一次运行报错信息如下:

错误     “ThoughtWorks.QRCode.Properties.Resources”并不包含“GetResource”的定义

解决办法:

只需要把:“MemoryStream memoryStream = new MemoryStream(Resources.GetResource(fileName));”  都修改为  “MemoryStream memoryStream = new MemoryStream((byte[])Resources.ResourceManager.GetObject(fileName));

通过上面的修改,对于英文的支持是直接运行就能通过的。生成和解析都没问题。

这时你如果是输入中文,运行后是没有反应的,这时你需要修改源码如下地方:

1.修改 QRCodeEncoder.cs 跟 QRCodeDecoder.cs文件 把Encoding.Unicode 替换成 Encoding.UTF8

2.util目录下的QRCodeUtility.cs中的UnicodeEncoding encoding = new UnicodeEncoding();替换成UTF8Encoding encoding = new UTF8Encoding();

然后再运行生成出来的二维码,对于中文就能够识别出来了!

至此分享完结,以上解决方案都由网络收集的。