PYTHON編碼和解碼

2021-08-29 13:50:02 字數 1074 閱讀 2277

從第一天接觸python就對解碼和編碼的問題很困惑,最近在學習網路資料爬蟲,又遇到了一系列的解碼和編碼問題,處理中文編碼問題真的好麻煩,這次真的需要好好填坑了。

詳細內容下面的文章:

python字串的編碼與解碼(encode與decode)

字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即現將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另外一種編碼。

decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.decode(『gb2312』),表示將gb2312編碼的字串轉換成unicode編碼。

encode的作用是將unicode編碼轉換成其他編碼的字串,如str2.encode(『gb2312』),表示將unicode編碼的字串轉換成gb2312編碼。

在某些ide中,字串的輸出總是出現亂碼,甚至錯誤,其實是由於ide的結果輸出控制台自身不能顯示字串的編碼,而不是程式本身的問題。

#-*-coding:utf-8-*- 

str = "this is string example....wow!!!";

str = str.encode('base64','strict');#將字串按照base64進行編碼

print "encoded string: " + str#直接輸出是bsae64編碼

print "decoded string: " + str.decode('base64','strict')#將字串解碼成unicode,顯示中文字串

不要對str使用解碼,不要對unicode使用解碼

我們可以將python看作乙個水池,乙個入口,乙個出口。入口處,全部轉換成unicode,池中全部使用unicode處理,出口處,再轉成目標編碼。

ide和控制台報錯,原因是print時,編碼和ide自身編碼不一致導致的,輸出時轉換成一致的就可以正常輸出。

保證**原始檔編碼:py檔案的預設編碼是ascii,在源**檔案中,如果用到非ascii字元,需要在檔案頭部進行編碼宣告

Python的編碼和解碼

春節剛過,今天正式上班。首先在這裡給大家拜個晚年,祝大家在新年裡萬事如意,新春快樂。今天我們來說乙個比較老的話題,關於python的編碼和解碼的問題。首先簡單的來說,編碼就是把人類熟悉的語言轉化成計算機可以識別的語言,即0 1狀態位。而解碼則剛好相反,就是把計算機 能夠識別的 0 1 轉化 類熟悉的...

python 編碼解碼

一種編碼想要轉成另一種編碼,需要先解碼成萬國碼 unicode,然後再從unicode轉成其他編碼。例如gbk格式想要轉成utf 8,需要先按照 gbk 的格式 decode 成 unicode,再從 unicode 格式 encode 成utf 8 python3預設使用utf 8編碼,故不用宣告...

編碼 解碼 python

之前一直對python檔案中編碼解碼糊里糊塗,今天看到一篇文章,覺得把我講的有點明白了。寫個心得吧。1 編碼解碼是怎麼一回事?python 裡面的編碼和解碼也就是 unicode 和 str 這兩種形式的相互轉化。編碼是 unicode str,相反的,解碼就是 str unicode。str形式,...