【问题标题】:My qrcode scanner not able to scan specific URL containing special character我的二维码扫描仪无法扫描包含特殊字符的特定 URL
【发布时间】:2025-12-02 13:10:01
【问题描述】:

我可以扫描所有 qrcode 以获取 url,但是某些包含特殊字符(例如“%20”)的 url 没有被扫描,它会导致应用程序崩溃。我正在使用 ZBarSDK 进行扫描,而 ZBarReaderView 是扫描仪。

http://www.winlogisticsmedia.com/images/bigkmr%20end%20sale.jpg 是在 qrcode 上创建的 URL,我的应用程序崩溃并显示以下窗口。

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

【问题讨论】:

  • 你能告诉我们崩溃时被调用的线程吗? (在屏幕左侧,您在上面的屏幕截图中看到“线程 1”(当应用程序崩溃时出现)单击“6 - ...”“7 - ...”和“8 - ...”我想是什么导致你的崩溃我在那里被发现...
  • 我认为当 qrcode 扫描仪读取文本时,它会卡在 %20 上,这是一个空格,因此此时它变为空。
  • 我不明白?很抱歉对所请求的屏幕截图感到困惑......哈哈,我的意思是你真的可以点击那些说“6 - [Scan readerView:......”和“7 -......”和“8 -.. ." 并发布它带来的代码截图(或发布代码)
  • 发布Scan readerView:didReadSymbols:fromImage: 方法的代码。
  • 哥们,和url没有关系,应该和你的code有关ZBar 示例应用程序。 qrfree.kaywa.com/…

标签: iphone ios nsstring zbar-sdk


【解决方案1】:

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

我的原始代码会崩溃:

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

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

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

【讨论】:

    最近更新 更多