二维码乱码问题1

首先二维码我是用libqrencode生成的。出问题的地方就在于用于生成二维码的字符串带有中文。

之后我用ZBar去扫描解析,解析的结果为乱码。

=================

解决方案:

因为字符串中含有中文,所以一定要考虑字符串的编码问题,考虑到ZBar支持UTF-8
正确的解决方法就是,用于生成二维码的字符串进行UTF-8编码,ZBar扫描出来的字符串是经过UTF-8 编码的,然后再对其进行解码。

伪代码如下:
对生成二维码的字符串进行编码:

NSString *content = [NSString stringWithFormat:@"reapal-%@-%@", [self hanleProductName:productName],productPrice];
content = [content stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

ZBar扫描的结果进行处理:

NSString *urlStr = symbol.data;
NSString* decodeStr = [urlStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

最后的总结:

二维码用什么编码格式生成,就用什么编码格式解析。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容