作為備忘,因為經常看了字元編碼,卻在真的需要理解時,還是不理解。
如果 .py 檔案本身使用utf-8編碼,並且也申明了# -*- coding: utf-8 -*- ,開啟命令提示符測試就可以正常顯示中文
python提供了 ord() 函式獲取字元的整數表示, chr() 函式把編碼轉換為對應的字元:
>>> ord('a')65>>> ord('中'
)20013
>>> chr(66)'
b'>>> chr(25991)'
文
以unicode表示的 str 通過 encode() 方法可以編碼為指定的 bytes。
如果我們從網路或磁碟上讀取了位元組流,那麼讀到的資料就是 bytes 。要把 bytes 變為 str,就需要用 decode() 方法。
len() 函式計算的是 str 的字元數,如果換成 bytes , len() 函式就計算位元組數
% 運算子就是用來格式化字串的。在字串內部, %s 表示用字串替換, %d 表示用整數替換, %f表示用浮點數替換, %x表示用十六進製制替換。
>>> 'hi, %s, you h**e $%d.
' % ('
michael
', 1000000)
'hi, michael, you h**e $1000000.
'
%運算子後面可以跟修飾符
格式化整數和浮點數還可以指定是否補0和整數與小數的位數:>>> '
%2d-%02d
' % (3, 1)
'3-01
'>>> '
%.2d-%06d
' % (3, 1)
'03-000001
'>>> '
%.2f
' % 3.1415926
'3.14'#
第乙個%後面的2 表示小數點後保留兩位
#第二個%後面的可以跟 '0'或者'' 表示重複0還是空格 然後緊跟著2表示保留的位數 即兩位
python字串和編碼
看了廖雪峰 字串和編碼,對編碼問題講的很透徹,這裡引用裡面的一段話 總結一下現在計算機系統通用的字元編碼工作方式 在計算機記憶體中,統一使用unicode編碼,當需要儲存到硬碟或者需要傳輸的時候,就轉換為utf 8編碼。用記事本編輯的時候,從檔案讀取的utf 8字元被轉換為unicode字元到記憶體...
python字串和編碼
ascii american standard coding information interchange gbk guo biao kuozhan 拼音首字母縮寫 為解決在多語言混合的文字中,顯示出來會有亂碼。unicode 編碼應運而生 字母a用ascii編碼是十進位制的65,二進位制的010...
Python字串編碼
在python中有些特殊的地方是存在兩種字串,分別為str和unicode字串,他們都繼承自basestring。如 s hello world s為str us u hello world us為unicode。使用help str 和help unicode 可以檢視各自說明,他們都有decod...