python字符編碼:
ASCII編碼:python
計算機是美國人發明的,因此字符串只有數字,英文字母和特殊字符,一共有127個字符被編碼在計算機裏,這個編碼表被稱爲ASCII編碼。這種編碼存儲字符只用了一個byte即8bit.函數
Unicode(萬國碼,統一編碼):編碼
但要存儲全世界的字符1byte是絕對不夠的。這時unicode編碼應運而生,最經常使用的是用2byte表示一個字符.3d
UTF-8編碼(可變長編碼):code
使用Unicode雖然解決了亂碼問題,可是若是文本都是英文,這樣存儲太浪費空間且傳輸時也很浪費帶寬。因此爲了解決這個問題UTF-8編碼應運而生。這種方式是把Unicode編碼轉換成UTF-8編碼。英文佔用1byte,漢字佔用3byte,很生僻的字才用4-6byte. 實際上ASCII碼能夠看做UTF-8的一部分。unicode
字符和編碼以前的轉換:
python能夠使用函數ord()獲取字符的Unicode編碼(整數表示),用函數chr()獲取Unicode編碼對應的字符。
>>> ord('磊')
30922
>>> chr(30922)
'磊'字符串
python字符串:
計算str包含多少字符-len()
>>> len('劉磊')
2
>>> len('ABC')
3it
格式化:
如何輸出格式化的字符串。咱們常常會輸出相似'親愛的xxx你好!你xx月的話費是xx,餘額是xx'之類的字符串,而xxx的內容都是根據變量變化的,因此,須要一種簡便的格式化字符串的方式。
若是隻有一個%參數,後面的()能夠省略
>>> 'Hello, %s' %'world'
'Hello, world'
若是有多個 %參數,後面要要帶()
>>> 'Hi,%s,you have $%d' %('liulei',100)
'Hi,liulei,you have $100'字符編碼
常見的佔位符有:
%d 整數
%f 浮點數
%s 字符串
%x 十六進制整數變量
其中,格式華整數和浮點數還能夠指定是否補0和整數與小數的位數>>> '%3d-%05d' %(3,1) 其中%3d意思是用3位表示數字,不足位用空格代替,%05d意思是用5位表示數字,不足位用0代替。' 3-00001'>>> '%.2f' %3.14159265 %.2f意思是浮點數用2位小數表示。'3.14'