The DataMatrix article on Wikipedia提到它默认只支持ASCII。它还提到了Base256编码的特殊模式,它应该能够表示任意字节值。
然而,我到目前为止尝试的所有条形码生成器库都支持以字符串形式输入数据,并显示ASCII以外的字符(Onbarcode和Barcodelib)的错误。如何输入Base256模式所需的byte []也无法实现。
是否有支持Base256模式的条形码生成器库? (最好是有支持的商业图书馆)
在扫描数据后将unicode字符串转换为Base64并从base64解码将是一种方法,但还有其他方法吗?
答案 0 :(得分:0)
到目前为止,正如我在[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