Python 字元編碼 b

2021-10-01 02:51:32 字數 900 閱讀 6492

"""

1. acsii碼以內的0~127,可以用字元本身表示位元組,也可用十六進製制表示,前面加b

python console介面輸出bytes物件時,每讀乙個位元組就和ascii碼對比一下,如果符合ascii碼,該位元組就用ascii碼來表示(除去del等操作符外),否則用十六進製制(\x)來表示

"""b'\x41'

# 十六進製制 大寫a

b'a'

b'\x41'

== b'a'

b'a'

.decode(

)b'\x41'

.decode(

)b'\x21'

# 十六進製制 嘆號

b'!'

b'\x21'

== b'!'

b'\x21'

.decode(

)b'!'

.decode(

)b'\x0a'

# 十六進製制 換行符

b'\n'

b'\x0a'

== b'\n'

b'\x0a'

.decode(

)b'\n'

.decode(

)b'\x7f'

# 十六進製制 del 沒有被轉換

b'\x7f'

.decode(

)# 無對應的字串,直接複製位元組值

"""2.ascii碼以外的,位元組只能通過十六進製制來表示

"""b'王'

# 會報錯

b'\xe7\x8e\x8b'

# ascii碼以外的,位元組都只能使用十六進製制表示

b'\xe7\x8e\x8b'

.decode(

)'王'

.encode(

)

參考:

python字元編碼

ascii 碼是乙個位元組,通常只能顯示英文本母和數字。unicode碼為了顯示多種語言產生,但是要占用兩個位元組,顯示文字要占用大量空間 utf 8 為了節約空間而生,英文本元只用乙個位元組儲存,中文字元需要三個位元組 character ascii unicode utf 8 a01000000...

python字元編碼

列印python檔案編碼 import sys print sys.getdefaultencoding 中文的乙個字元unicode占用2個位元組。對在於ascii字元占用1個位元組 utf 8中 中文字元佔3個位元組,英文本元占用1個位元組 編碼和轉碼 unicode不能再解碼了 它是基層的 u...

Python字元編碼

在用python程式設計中,字串有兩種表示方法 string 和 u string 為什麼字串要是用這兩種表達方式。不是僅僅用前一種呢?使用type 函式檢視,它們各自是str物件和unicode物件。這兩個物件有什麼差別嗎?還有經經常使用到的encode 和decode 又是幹什麼的呢?都說pyt...