是否可以在DataMatrix 2D条形码中表示ASCII以外的字符?(unicode?)

是否可以在DataMatrix 2D条形码中表示ASCII以外的字符?(unicode?),unicode,ascii,barcode,barcode-printing,datamatrix,Unicode,Ascii,Barcode,Barcode Printing,Datamatrix,提到默认情况下它只支持ASCII。它还提到了Base256编码的一种特殊模式,它应该能够表示任意字节值 但是,到目前为止,我尝试的所有条形码生成器库都支持以字符串形式输入数据,并显示ASCII以外字符的错误(Onbarcode和Barcodelib)。也无法输入Base256模式所需的字节[] 是否有支持Base256模式的条形码生成器库?(最好是有支持的商业图书馆) 将unicode字符串转换为Base64并在扫描数据后从Base64解码是一种方法,但还有其他方法吗?这是可能的,但也有一些缺陷

提到默认情况下它只支持ASCII。它还提到了Base256编码的一种特殊模式,它应该能够表示任意字节值

但是,到目前为止,我尝试的所有条形码生成器库都支持以字符串形式输入数据,并显示ASCII以外字符的错误(Onbarcode和Barcodelib)。也无法输入Base256模式所需的字节[]

是否有支持Base256模式的条形码生成器库?(最好是有支持的商业图书馆)


将unicode字符串转换为Base64并在扫描数据后从Base64解码是一种方法,但还有其他方法吗?

这是可能的,但也有一些缺陷: 1) 这取决于您编写应用程序的语言(不同编程语言的不同DM库有不同的绑定)。 例如,在*nix相关环境中有一个非常通用的库(几乎所有Maemo/MeeGo/Tizen上的条形码扫描器/生成器、一些WinPhone应用程序、KDE等都在使用它),名为[libdmtx][1]。据我测试,对包含unicode的消息进行编码和解码非常好,但它没有正确标记编码的消息(“嘿,其他读者,这里是unicode!”),因此,其他库,如[ZXing][2],以及许多专有扫描仪,将unicode消息解码为ASCII

据我与[ZXing][2]作者讨论,合适的标记可能是一个ECI段(0d241字节作为第一个码字,然后是“0d26”字节(对于UTF-8))。不过,这是理论上的解决方案,基于QR码的这种解决方案,对于DataMatrix(以及[libdmtx][1]和[ZXing][2]而言,都没有任何标准化,但不支持使用此类标记进行编码,尽管这样做有一些步骤

因此,TL;DR:如果您计划只在应用程序之间使用生成的代码(带有unicode消息),那么您正在编写的代码-您可以自由使用[libdmtx][1]进行两侧的编码和解码,并且可以正常工作:)如果没有,请尝试在您的语言上查找[zxing][2]端口(并确保该端口支持编码)

1:github.com/dmtx/libdmtx


2:github.com/zxing/zxing

如果您必须将Unicode字符放入当前库的7位ASCII空间中,您是否考虑过使用or?当然,解码工作还需要了解编码……这并不能回答问题。若要评论或要求作者澄清,请留下M在他们的帖子下方-你可以随时对自己的帖子发表评论,一旦你有足够的评论,你就可以发表评论了。@helb我不能在“请求澄清”上发表评论,因为我没有足够的声誉(甚至可以得到格式正确的答案,包含两个链接,哈哈)。这就是为什么我都试图回答(根据作者提供的内容)并要求澄清答案。这是我唯一的选择。