2016-04-22 25 views
0

は、私は私がイーサネットポートを介して受信した文字列を持っていると私はこのようにそれをデコードしています私はASCII文字列に変換する必要がある文字列を、どのように変換する必要がありますか?

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

ループのために必要としない方法は、それはすぐに私に同じ文字列を与えることができ、ありますか?

+0

はあなたがdata' 'の値がどのように見えるかの例を与えることができますか? – salomonderossi

答えて

1

あなたは自分のコードを最小限に抑えたい場合は、ワンライナーを使用することができます。

stri = ''.join(map(lambda c: str(ord(c)),text)) 
0
:あなたは本当にループを使用しない場合

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

するか、map機能を使用します

それはmapord を簡単にすることができ、ここで例

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

出典:Convert string to ASCII value python

+0

@Aurelここにソースが含まれています – Mani

関連する問題