Decode Non-English Characters in 2D Barcodes

Below are code snippets that recognize a Pdf417 barcode for Turkish and Chinese characters.

Recognize a Pdf417 Barcode with Turkish Characters

String dataDir = Utils.getDataDir(RecognizePdf417BarcodeWithTurkishCharacters.class) + "TechnicalArticles/";
// Load barcode image
BarCodeReader reader = new BarCodeReader(dataDir + "barcode.png", DecodeType.PDF_417);
// Read barcode
for (BarCodeResult result : reader.readBarCodes()) {
// Get byte array and decode
byte[] bytes = result.getCodeBytes();
ByteBuffer bytebuf = ByteBuffer.wrap(bytes);
System.out.println(Charset.forName("windows-1254").decode(bytebuf).toString());
}
todo:image_alt_text
Figure: Sample Turkish Pdf417 barcode

Recognize a Pdf417 Barcode with Chinese Characters

String dataDir = Utils.getDataDir(RecognizePdf417BarcodeWithChineseCharacters.class) + "TechnicalArticles/";
// Load barcode image
BarCodeReader reader = new BarCodeReader(dataDir + "barcode.png", DecodeType.PDF_417);
// Read barcode
for (BarCodeResult result : reader.readBarCodes()) {
// Get byte array and decode
byte[] bytes = result.getCodeBytes();
ByteBuffer bytebuf = ByteBuffer.wrap(bytes);
System.out.println(Charset.forName("MS936").decode(bytebuf).toString());
}
 
todo:image_alt_text
Figure: A sample Chinese Pdf417 barcode