【问题标题】:Is DataMatrix support UTF8 or ISO-8859-2?DataMatrix 是否支持 UTF8 或 ISO-8859-2?
【发布时间】:2012-05-22 20:12:34
【问题描述】:

我对 Barcode4J 和生成 DataMatrix 有问题,消息中包含 ISO-8859-2 字符。
下面是从命令行使用barcode4j(2.1.0 版)的示例。如您所见,当我使用消息"żaba" 时出现错误Message contains characters outside ISO-8859-1 encoding. 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)

【问题讨论】:

    标签: java barcode barcode4j


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多