java - DataMatrix 支持 UTF8 或 ISO-8859-2 吗?

标签 java barcode barcode4j

我对Barcode4J有疑问并生成消息中包含 ISO-8859-2 字符的 DataMatrix
下面是从命令行使用barcode4j(版本2.1.0)的示例。正如您所看到的,当我使用消息“żaba”时,我收到错误消息包含ISO-8859-1编码之外的字符。 DataMatrix规范仅支持ISO-8859-1还是Barcode4J 中缺少某些内容?

java -cp build/barcode4j.jar:lib/avalon-framework-4.2.0.jar:lib/commons-cli-1.0.jar org.krysalis.barcode4j.cli.Main -s datamatrix "żaba"                           
Exception in thread "main" java.lang.IllegalArgumentException: Message contains characters outside ISO-8859-1 encoding.
 at org.krysalis.barcode4j.impl.datamatrix.DataMatrixHighLevelEncoder$EncoderContext.<init>(DataMatrixHighLevelEncoder.java:199)
 at org.krysalis.barcode4j.impl.datamatrix.DataMatrixHighLevelEncoder.createEncoderContext(DataMatrixHighLevelEncoder.java:171)
 at org.krysalis.barcode4j.impl.datamatrix.DataMatrixHighLevelEncoder.encodeHighLevel(DataMatrixHighLevelEncoder.java:119)
 at org.krysalis.barcode4j.impl.datamatrix.DataMatrixLogicImpl.generateBarcodeLogic(DataMatrixLogicImpl.java:50)
 at org.krysalis.barcode4j.impl.datamatrix.DataMatrixBean.generateBarcode(DataMatrixBean.java:128)
 at org.krysalis.barcode4j.impl.ConfigurableBarcodeGenerator.generateBarcode(ConfigurableBarcodeGenerator.java:174)
 at org.krysalis.barcode4j.cli.Main.handleCommandLine(Main.java:164)
 at org.krysalis.barcode4j.cli.Main.main(Main.java:86)

最佳答案

正如描述的那样here ,Barcode4J 目前仅支持 DataMatrix 规范 (ISO-8859-1) 定义的默认字符集。 DataMatrix 尚未实现对 ECI 的支持。但是,您可以通过将字节流编码为 RFC 2397 数据 URL 来对二进制消息进行编码。该字节流可以是使用 UTF-8 编码的字符串。缺点:读者可能无法正确解释数据。

关于java - DataMatrix 支持 UTF8 或 ISO-8859-2 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10709461/

相关文章:

iphone - 适用于 iPhone 的 Aztec 条码编码库

iphone - 适用于iPhone的PDF417条形码api

java - 如何将多个条形码图像添加到一张PNG图像中?

iphone - 增强的 iOS 条码扫描器库?

android - 用iphone/android扫描ean13

barcode4j - 让 barcode4j 与 Docmosis Tornado 一起工作

java - org.hibernate.hql.internal.QueryExecutionRequestException : Not supported for DML operations [insert into

java - 直接调用 onResume() 的替代方法

java - 从 REST 资源访问 Servlet 初始化参数

java - 使用 spring boot/thymeleaf 重定向到 HTML 页面