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)