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

C#实现二维码生成与解码

2014-05-13 21:34 162 查看
  前几天公司内部分享了一个关于二维码的例子,觉得挺好玩的,但没有提供完整的源码。有时候看到一个好玩的东西,总想自己Demo一个,于是抽空就自己研究了一下。

  一、二维码的原理

  工欲善其事,必先利其器。要生成二维码,首先得了解一下,什么是二维码。关于二维码,百度百科是这么说的:二维条码(二维码)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的。二维码是DOI(Digital Object Unique Identifier,数字对象唯一识别符)的一种。二维码的优点:二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高。

  好吧。关于二维码的原理我也是读了个大概。了解了一些二维码的概念。虽然平时身边离不开二维码,但我们却很少知道,为什么二维码长成这样?现在都是彩屏时代,为什么二维码却是黑白的?这是因为:二维码的黑色表示二进制的“1”,白色表示二进制的“0”(原因就不说了吧)。

  二、二维码加密与解密

  首先去http://zxingnet.codeplex.com/下载一个资源文件,下载后解压,找到文件夹"net4.5",然后找到Zxing.dll,引入到工程文件中。

/// <summary>
/// 解密二维码
/// </summary>
/// <param name="barcodeBitmap">图片</param>
/// <returns>二维码信息</returns>
private string DecodeQrCode(Bitmap barcodeBitmap)
{
BarcodeReader reader = new BarcodeReader();
reader.Options.CharacterSet = "UTF-8";
var result = reader.Decode(barcodeBitmap);
return (result == null) ? null : result.Text;
}


解密二维码
  至此,二维码的生成与解码已经顺利OK了!

  

[b]  窝查,有妹纸也能解!!!!![/b]



【解码有风险,解码需谨慎,且行且珍惜吧。】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: