我的qrcode扫描程序无法扫描包含特殊字符的特定URL

时间:2013-02-26 03:21:27

标签: iphone ios nsstring zbar-sdk

我可以扫描所有qrcodes的网址,但是某些包含特殊字符(如“%20”)的网址未被扫描,并且会导致应用崩溃。我使用ZBarSDK进行扫描,ZBarReaderView是扫描仪。

http://www.winlogisticsmedia.com/images/bigkmr%20end%20sale.jpg是在qrcode上制作的网址,我的应用崩溃并显示以下窗口。

Crash Window

P.S:还有一件事是,我认为我得到的扫描报告(文本)是一个nsstring。有没有机会将它作为一个字符串,文本由数字和特殊字符组成?

crash report of thread

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。当我记录AVMetadataMachineReadableCodeObject stringValue时,我的应用程序会崩溃。

我的原始代码会崩溃:

NSLog("%@", [machineReadableCodeObject stringValue]);

一旦我用stringByReplacingPercentEscapesUsingEncoding解码了stringValue,它就不再崩溃了:

NSString* decodedValue = [[machineReadableCodeObject stringValue] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog("%@", decodedValue);