关于-编码进阶
中國(guó)電腦的windows 的默認(rèn)編碼是gbk. "記事本"是gbk, 和windows的編碼一樣.
linux 的默認(rèn)編碼是utf-8
蘋果OS的默認(rèn)編碼是utf-8.
str 字符串在內(nèi)部的默認(rèn)編碼是 unicode
linux 的默認(rèn)編碼是utf-8
蘋果OS的默認(rèn)編碼是utf-8.
str 字符串在內(nèi)部的默認(rèn)編碼是 unicode
?
# 英文str: 表現(xiàn)形式'alex'內(nèi)部編碼: 字符串str-> 'unicode'bytes:表新形式 b'alex' # 英文不會(huì)變型內(nèi)部編碼: 非unicode # 中文:str: 表現(xiàn)形式: '琪琪'內(nèi)部編碼m:字符串, 還是unicodebytes:表現(xiàn)形式: b'\xe7\x90\xaa\xe7\x90\xaa' # 中文轉(zhuǎn)bytes會(huì)變型到十六進(jìn)制內(nèi)部編碼:非unicode, 我用的是utf-8 # s = 'alex' # b1 = s.encode('utf-8') # print(b1) #b'alex's1 = "琪琪" b2 = s1.encode('utf-8') # 中文字符串的unicode 轉(zhuǎn)成utf-8的bytes類型 print(b2) # b'\xe7\x90\xaa\xe7\x90\xaa' # 把utf-8的bytes類型轉(zhuǎn)換成字符串 b1 = b'\xe7\x90\xaa\xe7\x90\xaa' s = b1.decode("utf-8") print(s) # 得到"琪琪"?
?
bytes s1 = 'alex' b1 = b'alex' print(b1,type(b1)) print(b1.upper())s1 = '太白' unicode ---> gbk 字符串 ---> gbk編碼方式的bytes b1 = s1.encode('gbk') # 編碼 s2 = b1.decode('gbk') # 解碼 print(s2)s2 = '太白' unicode ---> utf-8 字符串 ---> utf-8 編碼方式的bytes b2 = s2.encode('utf-8') s3 = b2.decode('utf-8') print(s3)gbk ---> utf-8b1 = b'\xcc\xab\xb0\xd7' # gbk編碼的bytes類型 s = b1.decode('gbk') b2 = s.encode('utf-8') # utf-8編碼的bytes類型 print(b2)s1 = 'いらないよ' b = s1.encode('shift_jis') # s2 = b.decode('shift_jis') # print(b) print(s2)?
轉(zhuǎn)載于:https://www.cnblogs.com/jack20181017/p/10182700.html
總結(jié)
- 上一篇: img=img%3e128 matlab
- 下一篇: 数学建模:线性回归模型