Unicode把所有語言都統(tǒng)一到一套編碼里,這樣就不會再有亂碼問題了
ASCII編碼是1個字節(jié),而Unicode編碼通常是2個字節(jié)
本著節(jié)約的精神肢扯,又出現(xiàn)了把Unicode編碼轉(zhuǎn)化為“可變長編碼”的UTF-8編碼。UTF-8編碼把一個Unicode字符根據(jù)不同的數(shù)字大小編碼成1-6個字節(jié),常用的英文字母被編碼成1個字節(jié)雪营,漢字通常是3個字節(jié),只有很生僻的字符才會被編碼成4-6個字節(jié)衡便。
由于Python的字符串類型是str献起,在內(nèi)存中以Unicode表示,一個字符對應(yīng)若干個字節(jié)砰诵。如果要在網(wǎng)絡(luò)上傳輸征唬,或者保存到磁盤上,就需要把str變?yōu)橐宰止?jié)為單位的bytes茁彭。
'ABC'.encode('ascii') //b'ABC'
'中文'.encode('utf-8') //b'\xe4\xb8\xad\xe6\x96\x87'
b'ABC'.decode('ascii') //'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') //'中文'
len() 計算str長度或者byte的字節(jié)數(shù)
格式化
%d -- 整數(shù)
%f -- 浮點數(shù)
%s -- 字符串
%x -- 16進制整數(shù)
同時還可以指定小數(shù)和整數(shù)的位數(shù)
print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)
另外一種格式化的方法是用format()
'Hello, {0}, 成績提升了 {1:.1f}%'.format('小明', 17.125)