Python中的chr()函數(shù)與ord()函數(shù)解析
chr()函數(shù)與ord()函數(shù)解析
chr()函數(shù)
用一個范圍在 range(256)內(nèi)的(就是0~255)整數(shù)作參數(shù),返回一個對應(yīng)的字符。返回值是當(dāng)前整數(shù)對應(yīng)的 ASCII 字符。
該函數(shù)的返回值為字符串形式。例如,輸入:chr(90) ,輸出為 ‘Z’ 。
ord()函數(shù)
與chr()函數(shù)對應(yīng),輸入ASCII字符表中字符的字符串形式,返回在字符表中的排序位次。
例如,輸入:ord(“Z”),輸出為 90 。
應(yīng)用:凱撒密碼的加密和解碼
以加密為例,字符轉(zhuǎn)換成數(shù)字,經(jīng)過凱撒密碼規(guī)則運(yùn)算后再轉(zhuǎn)換為對應(yīng)字符。
s = input()
t = ""
for c in s:
? ? if 'a' <= c <= 'z':
? ? ? ? t += chr( ord('a') + ((ord(c)-ord('a')) + 3 )%26 )
? ? elif 'A' <= c <= 'Z':
? ? ? ? t += chr( ord('A') + ((ord(c)-ord('A')) + 3 )%26 )
? ? else:
? ? ? ? t += c
print(t)ord()函數(shù)與chr()函數(shù)的區(qū)別
在python中,今天遇到ord()和chr()函數(shù),不是很明白,就查了下資料,當(dāng)我們需要對字符串進(jìn)行轉(zhuǎn)化為整型時,ord()函數(shù)是用來返回單個字符的ASCII值(0-255)或者是UNICODE值。
>>> ord("A")
65
>>> ord("a")
97
>>> ord("8")
56對應(yīng)的chr()函數(shù)是把一個整數(shù)(0-255)轉(zhuǎn)化為對應(yīng)的ASCII值。
chr(97) 'a' >>> chr(65) 'A'
下面是一個轉(zhuǎn)化字符串的函數(shù)代碼:
def FormatStrToInt(target):
? ? for i in range(len(target)):
? ? ? ? temp=ord(target[i])
? ? ? ? print (temp)
? ? return
?if __name__=="__main__":
??? ?FormatStrToInt("abcdefghijk")
>>97
98
99
100
101
102
103
104
105
106
107以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)變聲器功能(蘿莉音御姐音)
這篇文章主要介紹了Python實(shí)現(xiàn)變聲器功能(蘿莉音御姐音),本文圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
Python導(dǎo)出數(shù)據(jù)到Excel可讀取的CSV文件的方法
詳解python實(shí)現(xiàn)識別手寫MNIST數(shù)字集的程序
python中的hashlib和base64加密模塊使用實(shí)例

