Python任意字符集转换-创新互联
在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')
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:Python任意字符集转换-创新互联
文章分享:http://scyanting.com/article/cdoope.html