unicode 在python3中的編碼問題
阿新 • • 發佈:2018-11-11
https://blog.csdn.net/sinat_40611238/article/details/79510373
u/U:表示unicode字串 example:u"string"不是僅僅是針對中文, 可以針對任何的字串,代表是對字串進行unicode編碼。 一般英文字元在使用各種編碼下, 基本都可以正常解析, 所以一般不帶u;但是中文, 必須表明所需編碼, 則一旦編碼轉換就會出現亂碼。 建議所有編碼方式採用utf8
r/R:非轉義的原始字串 與普通字元相比,其他相對特殊的字元,其中可能包含轉義字元,即那些,反斜槓加上對應字母,表示對應的特殊含義的,比如最常見的”\n”表示換行,”\t”表示Tab等。而如果是以r開頭,那麼說明後面的字元,都是普通的字元了,即如果是“\n”那麼表示一個反斜槓字元,一個字母n,而不是表示換行了。 以r開頭的字元,常用於正則表示式,對應著re模組
b:表示bytes
unicode 是計算機的字符集 是密文 可以通過decode()函式進行解碼成 string 字串型別
明文 -> 編碼 encode()-> 轉換成密文
轉換成明文 <- 解碼 decode()<- 密文
>>> s
'在'
>>> type(s)
<class 'str'>
>>> s.encode("utf-8")
b'\xe5\x9c\xa8'
>>> type(s.encode("utf-8"))
<class 'bytes'>