*!*
二、碼位分配及順序
*!*gbk 亦採用雙位元組表示,總體編碼範圍為8140-fefe,首位元組在81-fe 之間,尾位元組在40-fe 之間,剔除xx7f 一條線。總計23940 個碼位,共收入21886 個漢字和圖形符號,其中漢字(包括部首和構件)21003 個,圖形符號883 個。
*!*全部編碼分為三大部分:
*!*1. 漢字區。包括:
*!*a. gb 2312 漢字區。即gbk/2: b0a1-f7fe。收錄gb 2312 漢字6763 個,按原順序排列。
*!*b. gb 13000.1 擴充漢字區。包括:
*!*(1) gbk/3: 8140-a0fe。收錄gb 13000.1 中的cjk 漢字6080 個。
*!*(2) gbk/4: aa40-fea0。收錄cjk 漢字和增補的漢字8160 個。cjk 漢字在前,按ucs **大小排列;增補的漢字(包括部首和構件)在後,按《康熙字典》的頁碼/字位排列。
*!*2. 圖形符號區。包括:
*!*a. gb 2312 非漢字符號區。即gbk/1: a1a1-a9fe。其中除gb 2312 的符號外,還有10 個小寫羅馬數字和gb 12345 增補的符號。計符號717 個。
*!*b. gb 13000.1 擴充非漢字區。即gbk/5: a840-a9a0。big-5 非漢字符號、結構符和「○」排列在此區。計符號166 個。
*!*3. 使用者自定義區:分為(1)(2)(3)三個小區。
*!*(1) aaa1-affe,碼位564 個。
*!*(2) f8a1-fefe,碼位658 個。
*!*(3) a140-a7a0,碼位672 個。
*!*第(3)區儘管對使用者開放,但限制使用,因為不排除未來在此區域增補新字元的可能性。
create table
gbk(
字元 c(2))
local
lcstring,x,y
*(1)
漢字21003個
*gbk/2
:oxboa1-f7fe, 收錄gb2312 漢字6763 個,按原序排列(其中有5個空位是d7fa-d7fe);
for
x = 0xb0
to 0xf7
for
y = 0xa1
to 0xfe
lcstring =
chr[x] +
chr[y]
if y <> 0x7f and not (x = 0xd7 and (y >=0xfa and y <=0xfe))
replace
字元 with
lcstring
endif
endfor
endfor
*gbk/3
:ox8140-aofe,收錄cjk 漢字6080 個;
for
x = 0x81
to 0xa0
for
y = 0x40
to 0xfe
lcstring =
chr[x] +
chr[y]
if y <> 0x7f
replace
字元 with
lcstring
endif
endfor
endfor
*gbk/4
:oxaa40-feao,收錄cjk 漢字和增補的漢字8160 個。
for
x = 0xaa
to 0xfe
for
y = 0x40
to 0xa0
lcstring =
chr[x] +
chr[y]
if y <> 0x7f
replace
字元 with
lcstring
endif
endfor
endfor
*(2)
非漢字(圖形)883個
*gbk/1
:oxa1a1-a9fe,除gb2312 的符號外,還增補了其它符號(圖形符號區)
*!*for x = 0xa1 to 0xa9
*!*for y = 0xa1 to 0xfe
*!*lcstring = chr[x] + chr[y]
*!*if y <> 0x7f
*!*replace
字元with lcstring
*!*endif
*!*endfor
*!*endfor
*gbk/5
:oxa840-a9ao,擴除非漢字區。(圖形符號區)
*!*for x = 0xa8 to 0xa9
*!*for y = 0x40 to 0xa0
*!*lcstring = chr[x] + chr[y]
*!*if y <> 0x7f
*!*replace
字元with lcstring
*!*endif
*!*endfor
*!*endfor
*!*browse
VFP中取得漢字的簡拼或全拼
parameters c,n 如果n 1 轉換為簡拼,n 2 轉換為全拼 oldgzq select 儲存當前工作區 store to cpy,zf for i 1 to len alltrim c if asc substr alltrim c i,1 128 zf substr alltrim ...
基於python的漢字轉GBK碼
基於python的漢字轉gbk碼 l cooper 說明 思路 從gbk編碼頁面收集漢字 實施 第一步 提取漢字 1 with open e gbk.txt as f 2 s f.read splitlines split 複製 分割得到的list裡面有重複的節編碼,要去掉b0 b1 類似的符號和中...
基於python的漢字轉GBK碼
說明 思路 從gbk編碼頁面收集漢字 實施 第一步 提取漢字 view code 1 with open e gbk.txt as f 2 s f.read splitlines split 分割得到的list裡面有重複的節編碼,要去掉b0 b1 類似的符號和中文的0 9 a f字元 把獲取到的字元...