作者arelu (難搞的阿儒)
看板Python
標題Re: [問題] 自動判斷繁,簡體?
時間Fri Feb 5 09:47:56 2010
※ 引述《tumc (HIHIHI)》之銘言:
: 試過chardet模組,似乎不行,google了一下chardet
: 覺得它是可偵測big5,gbk等編碼,但跟我的問題不太一樣..
: 可能是我表達的不清楚,再重新解釋一下,看有沒有人可以幫忙..
: ch是unicode字串,它有可能是經由big5,gb2312的字串解碼而來:
: 也就是: ch = ch0.decode('big5') 或 ch = ch0.decode('gb2312')
: 我的需求是: 不論ch是由big5,gb2312而來,程式要能自動判斷,
: 並自動將ch由unicode轉成big5
: ※ 引述《tumc (HIHIHI)》之銘言:
: : 請問: 如果 ch變數 是一個有可能是簡體字或繁體字的 unicode字串
: : 那有辦法在程式中判斷ch是繁體字或簡體字嗎?
這邊給一個自動去偵測所有的編碼並轉成 utf-8
det = chardet.detect(string)
string = unicode(string, det['encoding'],"replace").encode('utf-8')
這樣子就可以自動偵測你目前是什麼樣子的編碼,
只是我個人遇到的問題更多,因為我要處理的字串有
非常多種的編碼,有些編碼似乎不能轉 utf-8 , 所以只能以 ? 這個字元去取代
不知道有沒有大大有比較好的解決方式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.128.195.106
推 buganini:什麼編碼? CNS11643? 02/05 11:49
→ buganini:或是有UAO? 02/05 11:50
→ buganini:也有可能是HKSCS錯用其他big5 family的去解 02/05 11:50