网上有大量的文章介绍,zbar和zxing两个库的使用.按照上面的提示,也很成功的通过zbar来实现了对二维码的扫描.
这其中有大量的人针对zbar提出了一个问题,就是zbar解析中文出现乱码的问题.
google有个生成二维码的url地址,传递不同参数就可以生成自己想要的二维码图片了.这个可以用来方便进行测试.
地址如:https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=你就是个傻逼&choe=Shift_JIS
后面的shift_jis就是编码了,可以改为经常使用utf8.
(我下载的zbar的版本是ZBarSDK-1.2)
试验中,如果设定生成二维码的编码是utf8,则用zbar读取都不会出现问题,其他的编码解析出来都有不同程度的乱码.
其中有个自己用源码来编译的方法,我在make命令后就执行不下去了.
参考:http://blog.csdn.net/smking/article/details/7310178
http://blog.sitetuan.com/index.php/2012/05/21/iphone-zbar%E5%BA%93-%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/
补充这样方法,貌似效果不明显呢
zbar资源地址:http://zbar.sourceforge.net/iphone/sdkdoc/install.html
[NSString stringWithCString:result encoding:NSUTF8StringEncoding];
NSString* barcode = symbol.data;
if ([barcode canBeConvertedToEncoding:NSShiftJISStringEncoding])
{
barcode = [NSString stringWithCString:[barcode cStringUsingEncoding: NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding];
}