最近遇到这个问题,找了一下资料,没有现成的方案,在这里分享一下心得,方便后来人。
ZXing在iOS平台下遇到GBK字符串产生乱码的原因是ZXing没有对GBK编码字符作判断,于是遇到GBK编码字符串时使用了错误的编码,所以我们需要对源码作一些修改。
打开ZXingWidget工程
1.找到DecodedBitStreamParser.h 添加GBK编码变量
1
2
3
4
5
6
7
|
static
char
static
char
static
char
static
char
static
char
static
char
// |
2.在DecodedBitStreamParser.cpp中
1
2
3
4
5
6
7
|
c*****t char
"ASCII" ; c*****t char
"ISO-8859-1" ; c*****t char
"UTF-8" ; c*****t char
"SHIFT_JIS" ; c*****t char
"EUC-JP" ; c*****t char
"GB2312"
|