我有字符串,我需要转向ASCII字符串,如何转换它?
问题描述:
我有我通过以太网端口收到的字符串,我已经破译它是这样的:我有字符串,我需要转向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'
+0
@Aurel在这里包括源代码 – Mani
你可以举一个例子'data'的值是什么样子? – salomonderossi