Python任意字符集转换
admin
2023-07-25 03:21:48
0

在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')

相关内容

热门资讯

“最佳竞争方式就是在中国,不然... 据《华尔街日报》26日报道,由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能(InSi...
鲁比奥:美印正推进贸易谈判,特... 据印度亚洲新闻社(IANS)、路透社报道,当地时间6月26日,美国国务卿鲁比奥表示,美印两国正推进双...
思特威获得发明专利授权:“图像... 证券之星消息,根据天眼查APP数据显示思特威(688213)新获得一项发明专利授权,专利名为“图像传...
原创 每... 大家对于巨头们收取专利费,应该是不陌生了。 比如高通、爱立信、诺基亚、西门子等等企业,就靠着申请了大...
Karpathy内部Claud... 新智元报道 【新智元导读】Karpathy入职Anthropic仅五周,内部实战版10条Claud...
突发!苹果Vision Pro... 智东西 编译 | 李水青 编辑 | 心缘 智东西6月27日消息,据彭博社记者古尔曼报道,苹果公司负责...
山东曲阜一牌坊顶部构件脱落,致... 6月27日11时47分,山东省曲阜市尼山镇南辛南村仁和大街牌坊顶部构件发生意外脱落,7人受伤送医救治...
霍尔木兹海峡一艘油轮遇袭 新华社伦敦6月27日电(记者高文成)英国海上贸易行动办公室27日发布通报说,一艘油轮当天在霍尔木兹海...
楼盘用地发现古代墓地,山东潍坊... 6月26日,山东潍坊市奎文区文化和旅游局发布情况通报:胡西地块位于潍坊市奎文区新华佳乐家对面,地块总...
大连住建局职工称因拒“虚假回复... 6月24日,大风新闻发布报道,今年1月,辽宁大连中山区住建局职工姜某在处置上级转办的群众投诉时,称因...