使用ZbarSDK扫描二维码时乱码情况解决(解决乱码)

转载 2013年12月01日 21:12:55

在我的项目中是这样用的,只要加上这句就行:

NSString *textd = symbol.data;
   
//解决中文乱码问题
   
if ([textd canBeConvertedToEncoding:NSShiftJISStringEncoding])
   
{
        textd
= [NSString stringWithCString:[textd cStringUsingEncoding:
           
NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding];
   
}
   
resultText.text = [NSString stringWithFormat:@"%@",textd]; //这个就是它扫描出来的文字信息,(下边加载Libzbar时的那段代码我也没写)


转载自:http://blog.csdn.net/huanghuanghbc/article/details/9173023

使用ZbarSDK来构建二维码扫描

如果你的应用中需要用到二维码扫描功能,Zbar是一个不错的选择。

1,先去官方地址下载最新的包 http://sourceforge.net/projects/zbar/ 
我现在用的是SDK1.3.1 这个版本的库支持armv7s,如果是下载的早期的版本就不支持armv7s,会多一些额外的步凑

2,把相关的源码和libzbar.a加入项目中,导入库AVFoundation.framwork, CoreMedia.framework, CoreVideo.framework, libiconv.dylib

3,在使用时#import "ZBarSDK.h" 并实现委托ZBarReaderDelegate
一般只需要实现的委托方法为:
- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo
: (NSDictionary*) info{
    id
<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
   
ZBarSymbol *symbol = nil;
   
for(symbol in results)
       
break;
   
NSString *textd = symbol.data;
   
//解决中文乱码问题
   
if ([textd canBeConvertedToEncoding:NSShiftJISStringEncoding])
   
{
        textd
= [NSString stringWithCString:[textd cStringUsingEncoding:
           
NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding];
   
}
    resultText
.text = [NSString stringWithFormat:@"%@",textd];
    resultImage
.image = [info objectForKey: UIImagePickerControllerOriginalImage];
   
[reader dismissModalViewControllerAnimated: NO];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
   
[picker dismissModalViewControllerAnimated: YES];
   
[self.navigationController popViewControllerAnimated:NO];
}
加载zbar时的代码:
ZBarReaderViewController *reader = [ZBarReaderViewController new];
    reader
.readerDelegate = self;
   
ZBarImageScanner *scanner = reader.scanner;
   
[scanner setSymbology: ZBAR_I25
                   config
: ZBAR_CFG_ENABLE
                       to
: 0];
   
[self presentModalViewController: reader
                            animated
: NO];

MinGW编译Zbar修复中文乱码

项目中需要用到Zbar解析二维码,但由于编码的问题,Zbar扫描出的中文信息是乱码。 解决思路很简单:修改源码里 zbar/qrcode/qrdectxt.c 62行开始的转码函数即可(参考这里,但...
  • zizi7
  • zizi7
  • 2016年07月11日 15:30
  • 1469

zBar解码中文乱码

对于zBar解码中文,网上都有对应解决方法。这里只是总结补充说明。 网上搜到的方法包括: 1: 修改识别说明,把“ISO8859-1” 改为“GB18030”等; 2: 修改使用识别顺序...

zbar中文乱码的解决

http://blog.csdn.net/ydj213/article/details/8088759 zbar下载主页,有源码 http://zbar.hg.sourcefo...

NSString在不同字符集下的ASCII码

1、在字符集编码为NSUTF8StringEncoding时可以转换。当然了,本来就是UTF8编码的。 2、在字符集编码为GBK时,也可以。因为字符是汉字,并且UTF8的编码范围比GBK大,所以转换没...

解决svn: Can't convert string from 'UTF-8' to native encoding问题

更新SVN的时候遇到错误:svn: Can't convert string from 'UTF-8' to native encoding: 查看locale  :  [root@103 tes...
  • ssergsw
  • ssergsw
  • 2013年11月05日 17:45
  • 16364

zbar在win7下的编译及中文乱码解决

编译起来比较麻烦,过程比较慢,需要mingw。按照搜到的资料总算成功了,不过中文乱码问题没解决,最后还是通过转码解决的。 编译过程应该算比较有代表性的了,记录一下留待参考。 1、安装mingw 2、找...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

[转载]android利用zbar二维码扫描-(解决中文乱码及扫描区域定义)

写在最前(这是对上一篇博文的问题做的更新【android利用zbar二维码扫描】) 前天早上登陆CSDN时候一条消息:一网友提出了两点疑惑 扫描框目前只是做的假象,是全屏的图片进行解析 中...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用ZbarSDK扫描二维码时乱码情况解决(解决乱码)
举报原因:
原因补充:

(最多只允许输入30个字)