基於python的漢字轉GBK碼

2021-09-09 04:38:26 字數 1514 閱讀 9129

基於python的漢字轉gbk碼 - l cooper -

說明:

思路:從gbk編碼頁面收集漢字

實施:第一步:提取漢字

1 with open('

e:/gbk.txt

') as f:

2 s=f.read().splitlines().split()

複製**

分割得到的list裡面有重複的節編碼,要去掉b0/b1……類似的符號和中文的0-9/a-f字元

把獲取到的字元解碼看:

刪除掉這些字元:

先把分割得到的list全部解碼,然後

1 gbk.remove(u'

\uff10

')

這裡刪除字元的時候,用range生成一系列字串,然後用notepad++處理了一下,並沒有找到簡單的辦法

1

for t in [u'

\uff10

',u'

\uff11

',u'

\uff12

',u'

\uff13

',u'

\uff14

',u'

\uff15

',u'

\uff16

',u'

\uff17

',u'

\uff18

',u'

\uff19

',u'

\uff21

',u'

\uff22

',u'

\uff23

',u'

\uff24

',u'

\uff25

',u'

\uff26

']:2 gbk.remove(t)

然後去除b0-d7這樣的小節編碼,同時提取字元編碼的時候也要用到類似的a1-fe這樣的編碼,於是就想生成這樣乙個list,方便做刪除和索引操作。

生成編碼系列:

行編碼為0-9 a-f,列編碼為a-f

從a1開始遞增,遇到邊界(a9-aa)要手動處理,用到了ord()和chr()函式,在ascii編碼和數字之間轉換。

1 t=['

a1']

2while true:

3if t[-1]=='

fe':

4break

5if (ord(t[-1][1])>=48 and ord(t[-1][1])<57) or (ord(t[-1][1])>=65 and ord(t[-1][1])<70):

7continue

8if ord(t[-1][1])>=57 and ord(t[-1][1])<65:

10continue

11if ord(t[-1][1])>=70:

13continue

複製**

得到的列表:

基於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字元 把獲取到的字元...

C語言漢字gbk轉utf 8

一 注意事項 1.請注意漢字內碼 對應字元為 xcc等 和列印出的轉義字元 xcc 的區別!該問題導致我們程式除錯了差不多一整天!見 c語言中轉義字元的使用 2.另外庫函式iconv會把傳入的引數指標移位,這是正常的 請不要認為是自己程式有問題。3.我的終端是utf 8格式,對於其他編碼不能顯示。二...

vfp生成GBK中的所有漢字

二 碼位分配及順序 gbk 亦採用雙位元組表示,總體編碼範圍為8140 fefe,首位元組在81 fe 之間,尾位元組在40 fe 之間,剔除xx7f 一條線。總計23940 個碼位,共收入21886 個漢字和圖形符號,其中漢字 包括部首和構件 21003 個,圖形符號883 個。全部編碼分為三大部...