原創|其它|編輯:郝浩|2011-10-20 11:28:21.000|閱讀 817 次
概述:UTF - 8是一個可變長度的Unicode字符編碼。它可以代表Unicode標準中的任何字符。您可以生成阿拉伯文,拉丁文,希臘文等非英文字符的條碼。本文主要介紹使用Aspose.BarCode來生成和識別UTF-8 (Unicode) 字符的條碼。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
UTF - 8是一個可變長度的Unicode字符編碼。它可以代表Unicode標準中的任何字符。您可以生成阿拉伯文,拉丁文,希臘文等非英文字符的條碼。本文主要介紹使用Aspose.BarCode來生成和識別UTF-8 (Unicode) 字符的條碼。
通過下面示例的代碼可生成一個阿拉伯字符的條碼,然后從圖像中識別它。
[Java]
import com.aspose.barcode.*;
import com.aspose.barcoderecognition.BarCodeReadType;
import com.aspose.barcoderecognition.BarCodeReader;
import java.awt.Toolkit;
import java.io.UnsupportedEncodingException;
public class RecognitionUnicode {
public static void main(String[] args) throws
UnsupportedEncodingException {
try
{
License lic = new License();
lic.setLicense("e:\\ aspose.barcode.lic");
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
String file = "pdf417_un.png";
String scodeText = "????";
System.out.println("codetext: " + scodeText);
String codeText = getCodeTextFromUnicode(scodeText);
BarCodeBuilder builder = new BarCodeBuilder(Symbology.PDF417, codeText);
builder.save(file);
BarCodeReader r = new BarCodeReader
(Toolkit.getDefaultToolkit().getImage(file),BarCodeReadType.Pdf417);
boolean rb = r.read();
String rc = r.getCodeText();
try {
String s = getUnicodeFromCodeText(rc);
System.out.println(s);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
private static String getCodeTextFromUnicode(String s)
throws UnsupportedEncodingException {
byte[] bs = s.getBytes("UTF-8");
StringBuffer buf = new StringBuffer();
for (int i = 0; i < bs.length; i++) {
byte b = bs[i];
if(b >=0)
{
buf.append((char)b);
}
else
{
buf.append((char)(127 - b));
}
}
return buf.toString();
}
private static String getUnicodeFromCodeText(String cs)
throws UnsupportedEncodingException {
byte[] bs = new byte[cs.length()];
for(int i=0; i< cs.length();i++)
{
char c = cs.charAt(i);
if(c < 128)
{
bs[i] = (byte) c;
}
else
{
bs[i] = (byte) (127 - c);
}
}
return new String(bs," UTF-8");
}
}
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網