溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python3里gbk編碼的問題如何解決

發(fā)布時(shí)間:2022-08-26 10:46:54 來源:億速云 閱讀:224 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“python3里gbk編碼的問題如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python3里gbk編碼的問題如何解決”吧!

在python3有關(guān)字符串的處理當(dāng)中,經(jīng)常會(huì)遇到

'gbk' codec can't encode character '\xa0'這個(gè)問題,原因是在str里面存在著不能正確編碼的字符。

通過以下方法即可解決。

import requests
from bs4 import BeautifulSoup
url = "http://jecvay.com/2015/03/learning-compilers-1.html"
url = url.encode('gbk','ignore').decode('utf-8') //忽略
response = requests.get(url)
print(response)
soup = BeautifulSoup(response.text)

print(soup.body.text)

以上方法在必須要記錄數(shù)據(jù)的時(shí)候會(huì)出現(xiàn)數(shù)據(jù)不準(zhǔn)確問題

python3 字符串無法將 gbk 完全轉(zhuǎn)換為utf8

對(duì)于必須存儲(chǔ)的情況,將gbk -> 十六進(jìn)制字節(jié)碼文本 保存,需要的時(shí)候在轉(zhuǎn)換為gbk以便顯示。

def string_hex(data):
    lin = ['%02X' % i for i in data]
    return "".join(lin).upper()
 
 
def __ToUTF8(tuple):
    lists = []
    for itme in tuple:
        tmp = itme
        if type(itme) == bytes:
            try:
                tmp = itme.decode('gbk')
            except UnicodeDecodeError:
                tmp = string_hex(itme)
        lists.append(tmp)
    return lists
def readFileAll(file):
    with open(file, 'rb') as f:
        data = f.read()
    return data
s = readFileAll('gkb.txt') //gbk 字符串文件
sx = string_hex(s)//轉(zhuǎn)化為16進(jìn)制文本
print(sx)

到此,相信大家對(duì)“python3里gbk編碼的問題如何解決”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

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

AI