溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python任意字符集轉換

發(fā)布時間:2020-07-01 17:31:19 來源:網(wǎng)絡 閱讀:582 作者:楊云1028 欄目:編程語言

在python處理文本的過程中,經(jīng)常會有文本字符集轉換的情況,
而我們希望用一個方法,不用關心文本原本的字符集是什么樣的,直接轉換成想要的任何字符集就可以了。

方法一:

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')
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI