看板 Python 關於我們 聯絡資訊
我在這裡看到這篇文章(http://goo.gl/lYCk7r) 大意是說,有些big5中文字,轉換時 python 會報錯。 例如 在big5中是"恒"字 #python3.3.2 print(b'\xf9\xda'.decode('big5')) #UnicodeDecodeError: 'big5' codec can't decode byte 0xf9 in position 0: illegal multibyte sequence 文中有提到這個字可以用big5hkscs來解碼,還是有一些 字無法解。 因為我常要大量轉碼,其實遇到的這情況的機率比想像中 高,我也不想要直接 ignore。 我現在想到的是遇到exception 就再試試別的編碼,但是 這實在有點笨。 一般你們在處理這些字時,會怎麼做呢? 後記:再看到這篇https://goo.gl/BYnSHz我就崩潰了。 ※ 編輯: ggirls (114.136.150.153), 07/01/2016 11:09:06 ※ 編輯: ggirls (114.136.150.153), 07/01/2016 11:19:09
alibuda174: 哪些字無法解? 07/01 11:47
ggirls: 請問我下面的觀念對嗎: 07/01 13:16
ggirls: 以 python 的標準編碼 https://goo.gl/1dki9p 07/01 13:18
ggirls: 以cp950就可以解big5。 07/01 13:18
ggirls: GB18030 就可以解 gbk, gb2312 07/01 13:20
※ 編輯: ggirls (114.136.150.153), 07/01/2016 13:30:23
s860134: big5 不包含 "碁, 銹, 裏, 墻, 恒, 粧, 嫺" 07/01 13:29
s860134: 參見 wiki 有 cp950 與 big5 的差別比較 07/01 13:30
s860134: https://goo.gl/vbx6pP 07/01 13:30
ggirls: python 提供 big5, cp950, big5hkscs 實際上 big5 為cp950 07/01 13:34
ggirls: 的子集,所以實際只有cp950, big5hkscs。這樣理解對嗎? 07/01 13:35
ggirls: 我會這樣問,是因為我想提供使用者選擇編碼,對應到python 07/01 13:45
ggirls: 的這些編碼方式。若有父子集關係,我就可以不用列出這三種 07/01 13:48
ggirls: 全部選項。 07/01 13:48
※ 編輯: ggirls (114.136.150.153), 07/01/2016 14:33:33
uranusjr: 你的「所以」邏輯不對, 不過 Big 5 是 HKSCS 子集沒錯 07/01 15:35
uranusjr: 但仍然不建議這樣亂省略, 因為編碼表是有可能更新的 07/01 15:36
kenduest: 題外話問問,為何要轉碼到 big5 這類編碼? 07/01 18:39
shadowjohn: 總覺得這在PYTHON一直都很煩XD 07/01 23:49
ggirls: 舊文件一推。老報錯缺字。 07/02 07:42