使用者輸入的內容經常既有全形字符,又有半形字元
在pinyin4j的分詞中,會將全形字符轉換為半形字元,造成分詞前後字元不一致
為了解決這個問題,查詢了unicode表,寫了全半形轉換的工具如下:
/**
** 提供對字串的全形->半形,半形->全形轉換
*
*/
public
class
bcconvertutil
stringbuilder buf = new stringbuilder(src.length());
return buf.tostring();
}public
static
char
bj2qj(char c) else
if ((c >= dbc_char_start) && (c <= dbc_char_end)) else
}/**
*
* 全形字符->半形字元轉換*/* 只處理全形的空格,全形!到全形~之間的字元,忽略其他
*
public
static string qj2bj(string src)
stringbuilder buf = new stringbuilder(src.length());
return buf.tostring();
}public
static
char
qj2bj(char c) else
if (c == sbc_space) else
}}
全半形轉換
第一種方法 轉全形的函式 sbc case 任意字串 全形字串 全形空格為12288,半形空格為32 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 public string tosbc string input if c i 127 c i char ...
全半形轉換
string c x byte b c.getbytes unicode system.out.println arrays.tostring b string d byte g d.getbytes unicode system.out.println arrays.tostring g 結果 2...
轉換全半形字元的函式
vb public function tosbc byval input asstring as string 轉全形 dimc aschar input tochararray dimi asinteger 0 while i c.length ifc i chrw 32 then c i chr...