您好,登錄后才能下訂單哦!
本篇內(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í)!
免責(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)容。