C# QRCode生成二維碼,支持中文,有utf-8和gb2312兩種方法


要將中文信息生成為二維碼,使用了有源碼的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

我的代碼下載地址:下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM