摘要:前陣子想爬點(diǎn)東西,結(jié)果一直提示錯(cuò)誤,在網(wǎng)上一查,發(fā)現(xiàn)是的控制臺(tái)的問(wèn)題??刂婆_(tái)的編碼是,是,造成了沖突。下面給出三種解決方法第一種方法直接替換出錯(cuò)的內(nèi)容第二種方法再解碼先用編碼,加個(gè)丟棄錯(cuò)誤的字符,然后再解碼。
前陣子想爬點(diǎn)東西,結(jié)果一直提示錯(cuò)誤UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘xa0’ in position,在網(wǎng)上一查,發(fā)現(xiàn)是 Windows 的控制臺(tái)的問(wèn)題??刂婆_(tái)的編碼是 GBK,Python 是 UTF-8,造成了沖突。下面給出三種解決方法:
第一種方法:直接替換出錯(cuò)的內(nèi)容import requests url = "https://segmentfault.com/a/1190000015617318" print(requests.get(url).text.replace("xa0", " "))第二種方法:再解碼
先用 GBK 編碼,加個(gè) ignore 丟棄錯(cuò)誤的字符,然后再解碼。
import requests url = "https://segmentfault.com/a/1190000015617318" print(requests.get(url).text.encode("gbk", "ignore").decode("gbk")第三種方法:修改控制臺(tái)編碼
新建一個(gè) cmd.reg, 輸入代碼:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USERConsole\%SystemRoot%_system32_cmd.exe] "CodePage"=dword:0000fde9 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"="Consolas" "ScreenBufferSize"=dword:232900d2 "WindowSize"=dword:002b00d2
保存后運(yùn)行。如果 Ctrl+B 無(wú)效,用 python.exe 打開(kāi).py程序后再試一次。
如果還有問(wèn)題的話,可以在我的知乎和SF留言。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41979.html
摘要:如果統(tǒng)一規(guī)定每個(gè)字符用個(gè)或者個(gè)字節(jié)來(lái)存儲(chǔ),那么每個(gè)英文字符都必然需要額外到個(gè),這對(duì)存儲(chǔ)是很大的浪費(fèi)。因此對(duì)于英語(yǔ)字母,編碼和碼是相同的。中文中文輸出這里同樣可以知道,中存放的是文件保存的編碼的碼。 unicode 與 utf-8 的關(guān)系 unicode 是 character set character set 是把每個(gè)字符對(duì)應(yīng)成數(shù)字的集合,比如unicode中 A對(duì)應(yīng)0041,漢字...
摘要:根據(jù)有效范圍作用域分為全局變量和局部變量。類型以開(kāi)頭標(biāo)識(shí)類型以開(kāi)頭標(biāo)識(shí)類型以進(jìn)制的字節(jié)碼表示,實(shí)際上是一個(gè)字節(jié)串,回應(yīng)了它的另一個(gè)名字。 < 返回索引頁(yè) 基本語(yǔ)法 Hello World 代碼注釋 關(guān)鍵字 數(shù)據(jù)類型 變量、常量 變量 變量賦值 變量命名 變量的作用域 常量 字符串與編碼 字符轉(zhuǎn)義 字符編碼 字符串操作 運(yùn)算符與表達(dá)式 運(yùn)算符 表達(dá)式 ...
摘要:中國(guó)人民看到這樣很不錯(cuò),于是就把這種漢字方案叫做。結(jié)果擴(kuò)展之后的編碼方案被稱為標(biāo)準(zhǔn),包括了的所有內(nèi)容,同時(shí)又增加了近個(gè)新的漢字包括繁體字和符號(hào)。 聲明:文章借鑒自【徹底搞懂 python 中文亂碼問(wèn)題】 一. 各種編碼的由來(lái) 1.1 ASCII編碼 很久很久以前,有一群人,他們決定用8個(gè)可以開(kāi)合的晶體管來(lái)組合成不同的狀態(tài),以表示世界上的萬(wàn)物。他們看到8個(gè)開(kāi)關(guān)狀態(tài)是好的,于是他們把這稱為...
摘要:常見(jiàn)的字符編碼有編碼,編碼,編碼等。碼只規(guī)定了個(gè)字符的編碼,這在美國(guó)是夠用的。小結(jié)是一種針對(duì)的可變長(zhǎng)度字符編碼,它是的實(shí)現(xiàn)方式之一。 字符編碼是計(jì)算機(jī)編程中不可回避的問(wèn)題,不管你用 Python2 還是 Python3,亦或是 C++, Java 等,我都覺(jué)得非常有必要厘清計(jì)算機(jī)中的字符編碼概念。本文主要分以下幾個(gè)部分介紹: 基本概念 常見(jiàn)字符編碼簡(jiǎn)介 Python 的默認(rèn)編碼 Py...
摘要:關(guān)于中文為了處理漢字,程序員設(shè)計(jì)了用于簡(jiǎn)體中文的和用于繁體中文的。年一共收錄了個(gè)字符,包括個(gè)漢字和個(gè)其它符號(hào)。年的是取代的正式國(guó)家標(biāo)準(zhǔn)。區(qū)分中文編碼的方法是高字節(jié)的最高位不為。 Python 2和 Python3的區(qū)別 3.0有Unicode support ,這代表著可以直接默認(rèn)寫中文,2是不行的 有一些庫(kù)改名了,但表面上變化不大,都是些大寫變小寫,下劃線沒(méi)了之類的 Twisted...
閱讀 1249·2021-11-15 11:37
閱讀 2260·2021-09-30 09:55
閱讀 4534·2021-09-22 15:51
閱讀 3756·2021-09-22 15:46
閱讀 2780·2019-08-30 15:52
閱讀 436·2019-08-29 16:20
閱讀 2901·2019-08-29 15:12
閱讀 1157·2019-08-26 18:27