python的字串和編碼

2022-09-13 06:51:13 字數 1057 閱讀 9485

作為備忘,因為經常看了字元編碼,卻在真的需要理解時,還是不理解。

如果 .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...