unicode中漢字區間問題

2021-08-29 15:10:48 字數 417 閱讀 5991

今天接到乙個優化效能的任務,把乙個過濾非漢字字元的演算法效能提高一下,原來方法使用了如下方法:

if (character.unicodeblock.of(c) == character.unicodeblock.cjk_unified_ideographs)

這個方法內部使用了乙個二分查詢的演算法在乙個100多個元素的陣列中查詢對應的unicodeblock,對於乙個50k的html檔案說,效能非常差。

經過檢視發現,其實中文字元的unicode區間只有以下幾種:

所以對於我們這個簡單的演算法只要判斷字元是否在0x4e00~0x9fff之間就可以了,實現後僅僅這個因素效能提公升就可以提公升7倍(當然還有方法呼叫的消耗)。

delphi 中 unicode 轉漢字 函式

近期用到這個函式,無奈沒有找到 delphi 自帶的,網上找了下 有類似的,沒有現成的,我需要的是 支援 u4f00 這種格式的,即前面帶標準的 u 於是改造了一下。下面是 解碼 函式 方便有需要的人吧,我自己也需要 unicode轉漢字 支援自動過濾非 unicode編碼,即非 unicode編碼...

漢字unicode編碼範圍

gb2312編碼 1981年5月1日發布的簡體中文漢字編碼國家標準。gb2312對漢字採用雙位元組編碼,收錄7445個圖形字元,其中包括6763個漢字。big5編碼 台灣地區正體中文標準字符集,採用雙位元組編碼,共收錄13053個中文字,1984年實施。gbk編碼 1995年12月發布的漢字編碼國家...

漢字unicode編碼範圍

gb2312編碼 1981年5月1日發布的簡體中文漢字編碼國家標準。gb2312對漢字採用雙位元組編碼,收錄7445個圖形字元,其中包括6763個漢字。big5編碼 台灣地區正體中文標準字符集,採用雙位元組編碼,共收錄13053個中文字,1984年實施。gbk編碼 1995年12月發布的漢字編碼國家...