码39型条码扫描问题使用AVCam



我正在使用以下示例应用程序进行条形码扫描:https://github.com/xamarin/ios-samples/tree/main/ios11/AVCamBarcode

它可以完美地扫描所有类型的条形码,但是当涉及到Code 39类型的条形码时,我得到了奇怪的结果。

示例1:当我扫描以下条形码(https://barcode.tec-it.com/en/Code39FullASCII?data=Aa-1234)时,我期望结果是Aa-1234,但我得到a + a-1234。

示例2:扫描此(https://barcode.tec-it.com/en/Code39FullASCII?data=Aa-1234%2B)我期望Aa-1234+作为结果,但我得到a + a-1234/K

示例3:扫描此(https://barcode.tec-it.com/en/Code39FullASCII?data=A%2F1234)我期望A/1234作为结果,但我得到A/O1234。

在第一个示例中,您可以看到它显示的不是小写字母,而是+符号和大写字母。符号/被替换为/O, +被替换为/k

为什么我得到这些结果,我该如何解决它?它是某种编码,我需要处理后,我得到一个结果与代码39型条形码?

我认为这是一些编码问题,但我没有找到任何相关的帮助信息。如果有人有任何帮助的想法,我将不胜感激。

最初的Code39规范只使用大写字母。Code39 Full ASCII是一个完全不同的规范,使用字符对(例如,+A表示小写的' A ')。可能是AVCamBarcode应用程序需要配置以支持Code 39fa。它可能根本不支持它。看起来,repo依赖于iOS来完成繁重的工作,而符号支持则取决于操作系统。

我的建议是使用Code 39遗留格式,只接受大写字符,或者切换到Code 128B。这取决于你用什么来打印条形码,如果这是在你的项目范围内。

最新更新