我有一串字符需要转换为ASCII数字字符串,如何转换它?

时间:2016-04-22 09:17:32

标签: python ethernet

我有通过以太网端口收到的字符串,我已经解码了这个:

data, address = p1.recvfrom(1040)  
text = data.decode('ascii')
stri = ''  
for i in text:
    stri = + ord(i)  

有没有一种方法不需要循环,可以立即给我相同的字符串?

2 个答案:

答案 0 :(得分:1)

如果您只想最小化代码,可以使用单行代码:

stri = ''.join(str(ord(c)) for c in text)

如果您真的不想使用循环,请使用map函数:

stri = ''.join(map(lambda c: str(ord(c)),text))

答案 1 :(得分:0)

mapord可以简化 这是一个例子

>>> reduce(lambda x, y: str(x)+str(y), map(ord,"hello world"))
'10410110810811132119111114108100'

来源:Convert string to ASCII value python