首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成带有特殊字符的code128条形码?

如何生成带有特殊字符的code128条形码?
EN

Stack Overflow用户
提问于 2019-09-20 15:36:20
回答 1查看 228关注 0票数 1

我正在开发具有扫描条形码能力的应用程序,但我有一些字符的问题,这搞乱了我的一切。在android上也出现了同样的问题,我修复了它,但我不能以同样的方式修复swift。

我已经尝试了多个库和本机方法来从提供的字符串生成code128条形码的图像。它可以在任何东西上工作,除了特殊字符,比如“?”。我尝试了所有我在谷歌上读到的问题,但我仍然不能解决它。

代码语言:javascript
复制
extension UIImage {

    convenience init?(barcode: String) {
        let data = barcode.data(using: .ascii)
        guard let filter = CIFilter(name: "CICode128BarcodeGenerator") else {
            return nil
        }
        filter.setValue(data, forKey: "inputMessage")
        guard let ciImage = filter.outputImage else {
            return nil
        }
        self.init(ciImage: ciImage)
    }

}

let barcode = UIImage(barcode: "some text")

当扫描卡片上的条形码图像并保存该值时,一切正常。它甚至说“;038388”是code128类型,但是当我试图从它生成code128条形码图像时,不知何故它与“?”字符有问题。

EN

回答 1

Stack Overflow用户

发布于 2019-09-20 15:59:48

Code128被定义为只能对ASCII码进行编码,但ASCII码没有“?”字符。

转换let data = barcode.data(using: .ascii)失败。

我建议使用如下代码尽早捕捉到这一点

代码语言:javascript
复制
guard let data = barcode.data(using: .ascii) else {
   return nil
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58023857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档