字符串和編碼
開篇先說(shuō)前幾天看過(guò)的《編碼的奧秘》
通過(guò)燈泡開關(guān),摩斯代碼,十進(jìn)制,八進(jìn)制,四進(jìn)制,講到了二進(jìn)制的含義。
思路全都通暢了。
在計(jì)算機(jī)內(nèi)存中,統(tǒng)一用Unicode編碼,當(dāng)需要保存到硬盤或需要傳輸?shù)臅r(shí)候,就轉(zhuǎn)換成UTF-8(8-bit Unicode Transformation Format)
Python的字符串
在Python3中,字符串是以Unicode編碼的,也就是說(shuō)Python的字符串,支持多種語(yǔ)言。
print('包啟中文的str')

Paste_Image.png
ord()函數(shù)獲取字符的整數(shù)表示,chr()函數(shù)把編碼轉(zhuǎn)換為對(duì)應(yīng)的字符

Paste_Image.png
str通過(guò)encode()方法可以編碼為指定的bytes,
把bytes變?yōu)閟tr,就需要用decode()

Paste_Image.png
不在編碼范圍內(nèi)就會(huì)報(bào)錯(cuò)。
len()函數(shù)計(jì)算的是str的字符數(shù),如果換成bytes,len()函數(shù)就計(jì)算字節(jié)數(shù):

Paste_Image.png
%運(yùn)算符就是用來(lái)格式化字符串的。在字符串內(nèi)部,%s表示用字符串替換,%d表示用整數(shù)替換,有幾個(gè)%?占位符,后面就跟幾個(gè)變量或者值,順序要對(duì)應(yīng)好,如果只有一個(gè)%?,括號(hào)可以省略。

Paste_Image.png
格式化整數(shù)和浮點(diǎn)安徽還可以指定是否補(bǔ)0和整體與小數(shù)的位數(shù):

Paste_Image.png

Paste_Image.png