1.他最后一句話說,用Utf-8編碼,使得轉義字符被消除了。為什么,沒懂2.content=content.decode("ascii","ignore")為何他轉換成utf-8后又轉成ascii?謝謝了
1 回答

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
瀉藥,最近比較忙,剛閑下來。
第一個問題為什么utf8能消除轉義字符?
呃,其實書里這句話不對,消除轉義字符的不是這行代碼,而是下一行代碼的ignore參數,轉義字符因為不能被ascii decode,如果不加ignore就會報錯,加了ignore就會被忽略。
contents是一個str,由一系列不可改變的Unicode字符組成,本身不能被decode,用utf8 encode之后轉為bytes才可以被decode。
encode是轉為計算機能理解的二進制數,bytes就是一系列不可改變的介于0-255之間的數字。decode就是轉為我們可以理解的字符。
ascii字符集遠小于unicode字符集,用ascii decode的時候那些不在ascii字符集的字符就會導致報錯,設了ignore參數后就會被忽略。
這算是一個trick吧233。
話說你這本書是誰寫的,這種錯誤太不嚴謹了。
添加回答
舉報
0/150
提交
取消