二维码乱码问题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];

最后的总结:

二维码用什么编码格式生成,就用什么编码格式解析。

你可能感兴趣的:(二维码乱码问题1)