全半形字元轉換

2021-07-12 02:39:37 字數 819 閱讀 6257

使用者輸入的內容經常既有全形字符,又有半形字元

在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...