Python基礎筆記:字符串和編碼

1.html

當處理文本時,須要現將文本轉換爲文字,一個字節爲8位兒,一個字節最高表示整數255(1111 1111),對應255個狀態;python

最爲人熟知的是ASCii碼,ASCii碼含128個狀態,知足了英文編碼轉換的須要,可是中文,日文,等等,若是各國編各自的不免會撞車。這是爲了統一,Unicode應運而生。又由於Unicode編碼浪費內存,然利用Unicode的實現形式之一UTF-8(可變長編碼)來表示節省內存。小程序

Unicode 與UTF-8 有固定的轉換規則。網絡

參考:Unicode 與ASCii 與UTF-8 函數

2.this

ord()函數,獲取字符的整數表示,chr()函數把編碼轉換爲對應的字符;編碼

len()函數計算str型的字符數,或計算bytes型的字節數。spa

3.code

python的字符串類型是str,在內存中以Unicode表示,一個字符表示若干字節。htm

若是要在網絡上傳輸,或者保存到磁盤上,就須要把str變爲以字節爲單位的bytes。python對bytes類型的數用帶b前綴的單引號或雙引號表示:x=b'ABC'

>>> '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')
'中文'

 4.一個小程序

給定一人去年與今年的成績,輸出該生的成績變化率。

name=input('hello!,your name:\n')
s1=input('your first grade: ')
s2=input('your seconde grade: ')
r=(float(s2)-float(s1))/float(s1)*100
if r>0:
    print('Congratulations! ,your grade have improved %.1f %% this year' %r)
else:
    print('I\'m sorry to tell you that you grade have decrease %.1f %% this year' %r)
相關文章
相關標籤/搜索