作者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
1F:推 buganini:什麽编码? CNS11643? 02/05 11:49
2F:→ buganini:或是有UAO? 02/05 11:50
3F:→ buganini:也有可能是HKSCS错用其他big5 family的去解 02/05 11:50