2012-05-22 3 views
0

메시지에 Barcode4J 및 ISO-8859-2 문자가있는 DataMatrix 세대에 문제가 있습니다.
다음은 명령 행에서 barcode4j (버전 2.1.0)의 사용 예입니다. 메시지를 볼 때 알 수 있듯이 "żaba" 오류가 발생합니다. Message contains characters outside ISO-8859-1 encoding.Barcode4J에 DataMatrix 사양이 ISO-8859-1 만 지원합니까? here 한 바와 같이DataMatrix는 UTF8 또는 ISO-8859-2를 지원합니까?

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) 

답변

1

, Barcode4J은 현재 데이터 매트릭스 규격 (ISO-8859)에 의해 정의 된 기본 문자 세트를 지원한다. DataMatrix에 대한 ECI 지원은 아직 구현되지 않았습니다. 그러나 바이트 스트림을 RFC 2397 데이터 URL로 인코딩하여 이진 메시지를 인코딩 할 수 있습니다. 해당 바이트 스트림은 UTF-8을 사용하여 인코딩 된 문자열이 될 수 있습니다. 단점 : 독자가 데이터를 올바르게 해석하지 못할 수도 있습니다.