您的位置:首页 > 编程语言 > C#

C# QRCode生成二维码,支持中文,有utf-8和gb2312两种方法

2013-03-27 17:06 656 查看
要将中文信息生成为二维码,使用了有源码的QRCode,但它默认不支持中文,在网上找到的办法,一般都是这样的:

修改库QRCodeLib中的类QRCodeEncoder.cs
将public virtual Bitmap Encode(String content)里面的
return Encode(content, Encoding.Unicode);
修改为
return Encode(content, Encoding.GetEncoding("gb2312"));

这样生成后,一部解码软件是可以解码的,但是像360的安全二维码就不行,我猜测它是使用了UTF-8来解码的。
因为中文编码有UTF-8和gb2312两种,于是上面的代码改为

return Encode(content, Encoding.GetEncoding("UTF-8"));

这样就比较完美了,360安全二维码能够识别了,其它软件也能识别了。

其实google也有现成的可以用,只是怕实然有一天不开放了,不敢用,

地址:https://chart.googleapis.com/chart?cht=qr&chs=200x200&choe=UTF-8&chld=L|0&chl=%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8F%B7%EF%BC%9A41071119851778190%EF%BC%8C%E5%87%86%E9%A9%BE%E8%BD%A6%E5%9E%8B%EF%BC%9AC1%EF%BC%8C%E8%80%83%E8%AF%95%E6%97%A5%E6%9C%9F%EF%BC%9A2013-02-11

我的代码下载地址:下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: