我有我通過以太網端口收到的字符串,我已經破譯它是這樣的:我有字符串,我需要轉向ASCII字符串,如何轉換它?
data, address = p1.recvfrom(1040)
text = data.decode('ascii')
stri = ''
for i in text:
stri = + ord(i)
是否有不需要循環的方式,可以給我相同的字符串,對嗎?
我有我通過以太網端口收到的字符串,我已經破譯它是這樣的:我有字符串,我需要轉向ASCII字符串,如何轉換它?
data, address = p1.recvfrom(1040)
text = data.decode('ascii')
stri = ''
for i in text:
stri = + ord(i)
是否有不需要循環的方式,可以給我相同的字符串,對嗎?
你可以使用一個班輪如果你只是希望儘量減少你的代碼:
stri = ''.join(str(ord(c)) for c in text)
或者使用map
功能,如果你真的不想使用一個循環:
stri = ''.join(map(lambda c: str(ord(c)),text))
它可以變得簡單與map
和ord
這裏是例子
>>> reduce(lambda x, y: str(x)+str(y), map(ord,"hello world"))
'10410110810811132119111114108100'
@Aurel在這裏包括源代碼 – Mani
你可以舉一個例子'data'的值是什麼樣子? – salomonderossi