在python处理文本的过程中,经常会有文本字符集转换的情况,
而我们希望用一个方法,不用关心文本原本的字符集是什么样的,直接转换成想要的任何字符集就可以了。
import chardet
def convert_encoding(data,new_coding='UTF-8'):
# 任意字符集转换
encoding = chardet.detect(data)['encoding']
if new_coding.upper() != encoding.upper():
data = data.decode(encoding,data).encode(new_coding)
return data
import icu
def convert_encoding2(data,new_coding='UTF-8'):
encoding = icu.CharsetDetector(data).detect().getName()
# encoding = chardet.detect(content)['encoding']
if new_coding.upper() != encoding.upper():
# data = data.decode(encoding,data).encode(new_coding)
data = unicode(data,coding).encode(new_coding)
return data
import cchardet
def convert_encoding3(data,new_coding='UTF-8'):
encoding = cchardet.detect(data)['encoding']
if new_coding.upper() != encoding.upper():
data = data.decode(encoding,data).encode(new_coding)
return data
此处使用方法一
#转换成utf-8
convert_encoding(data,'utf-8')
#转抱成GBK
convert_encoding(data,'gbk')
#转抱成GB2312
convert_encoding(data,'gbk')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。