python---unicode編碼轉換
- unicode編碼轉換
>>> chr(20000)
>>'北‘
ord()函數主要用來返回對應字符的ascii碼,chr()主要用來表示ascii碼對應的字符他的輸入時數字,可以用十進制,也可以用十六進制。
print ord('a)
#97
print chr(97)
#a
print chr(0x61)
#a
- 例子1) #以上程序主要實現對字符串str1里面所有的字符,轉換成ascii碼中比他們小一位的字符。
一個簡單的程序來靈活運用。
str1='asdfasdf123123'
for i in rang(len(str1)):
print chr(ord(str1[i])-1)
- 2)算出一個bc字母ascii碼之和
result=ord('b')+ord('c')
- 3)算出一個a-z字母的ascii碼之和
for i in range(ord('a'),ord('z')+1): #range 區間但不包括Z,所以+1
result+=i
或for i in range(len(string.ascii_lowercase)):
... print(ord(string.ascii_lowercase[i])) #從a-z 轉換成asc碼再求和
... result+=ord(string.ascii_lowercase[i])
>>>print(result)
- 4)算出一個a后面,2,4,6,8,10的字母是什么
>>>list(range(2,12,2)) #使用range將2,4,6,8,10做為范圍列出來
>>>[2,4,6,8,10]
>>>for i in list(range(2,12,2)) :
print(chr(ord("a")+i)) #將a字符轉換成asc碼值,分別+2,4,6,8,10,然后再將各asc碼值通過chr轉換成對應字符。
- 5)將a-z逆序排列顯示
>>>import string
>>>print(string.ascii_lowercase[::-1])) #用字符串中切片做逆序
或
>>>result =""
>>>num=1
>>>for i in range(ord('z'),ord('a')-1,-1): #a-z 步長
print("第%s次循環:" %num,i,chr(i))
result+=chr(i)
num+=1
>>>print(result)
import string
string.ascii_uppercase 所有大寫字母
string.ascii_lowercase 所有小寫字母
string.ascii_letters 所有字母
string.digits 所有數字