參考文章:
python編碼:encode()
將unicode字元按照編碼規則(如utf-8)編成位元組序列。
>>> a = u"測試"
>>> a.encode("utf-8")
'\xe6\xb5\x8b\xe8\xaf\x95'
python解碼:decode()
將位元組序列按照編碼規則(如utf-8)解釋成unicode。
>>> a = b"測試"
>>> a.decode("gbk")
u'\u5a34\u5b2d\u762f'
預設編碼(str)
總結python2
bytes(位元組字串)
unicode(文字字串)
str 物件有乙個encode方法,bytes 物件有乙個decode方法,str有個encode()方法,unicode有個decode()方法,但永遠不要使用它們。
python3
unicode(文字字串)
bytes(位元組字串)
str 物件有乙個encode方法,bytes 物件有乙個decode方法
#python2
>>> a = "測試"
>>>type(a)
>>> a.decode("gbk")
u'\u5a34\u5b2d\u762f'
>>> type(a.decode("gbk"))
>>> b = u"測試"
>>>type(b)
>>> b.encode("gbk")'\xb2\xe2\xca\xd4'
>>> type(b.encode("gbk"))
# python3
>>> a = "測試"
>>> type(a)
>>> a.encode("utf-8")
b'\xe6\xb5\x8b\xe8\xaf\x95'
>>> type(a.encode("utf-8"))
>>> b = b"測試"
file "", line 1
syntaxerror: bytes can only contain ascii literal characters.
>>> b = b"wangsl"
>>> type(b)
>>> b.decode("utf-8")
'wangsl'
>>> type(b.decode("utf-8"))
# b''表示bytes(二進位制)型別;str表示unicode(字元)型別
# 如下是互相轉換方式
b'' = str.encode('utf-8')
str = b''.decode('utf-8')
Python 編碼 進製 位 位元組
基本概念 首先理解兩個概念,有些東西是為了讓機器認識的,有些東西是為了讓人認識的。進製 2,3,8,10,16 都是為了機器可以直接理解的。編碼 ascii,unicode,utf 8 把只有機器認識的二進位制體現為人一眼就能看明白的字元。基礎知識 二進位制 0 1 八進位制 0 7 十進位制 0 ...
位元組與編碼
b 1 1位元組 8位 b 32位作業系統,即 cpu 一次可以處理4個位元組的資料 b 2 2個位元組 1個 常用 漢字 b b 3 位元組是計算機儲存資料的基本單位。b 即 資料儲存是以位元組為單位。因為乙個位元組 8位 可以表示乙個英文本母。人類可使用的最小資訊單元,即在人類的世界中,字母是最...
位 位元組 編碼格式
位 bit 計算機中最小的資料單位。每一位的狀態只能是0或1。位元組 byte 儲存空間的基本計量單位,8個二進位制位構成乙個位元組 編碼格式 ascii 127個字元被編碼到計算機裡,也就是大小寫英文本母 數字和一些符號 unicode 把所有語言都統一到一套編碼裡,解決亂碼問題 gbk 有一位元...