0

16進文字列では、2文字ごとがバイトを表し、ASCII文字にマップされることを除いて、通常の文字列です。

たとえば、文字列

abc

として表されます

979899

私はbinasciiモジュールを見ていますが、16進文字列を取得してASCII文字列に戻す方法がよくわかりません。どの方法を使用できますか?

注:私はから始めて979899、それを元に戻したいと思っていますabc

4

3 に答える 3

3

ord()各文字の整数値を取得するために使用できます。

>>> map(ord, 'abc')
[97, 98, 99]
>>> ''.join(map(lambda c: str(ord(c)), 'asd'))
'979899'
>>> ''.join((str(ord(c)) for c in 'abc'))
'979899'
于 2012-10-07T19:16:30.240 に答える
2

文字列内の文字の整数表現を取得するためにbinasciiは必要ありません。必要なのは、組み込み関数だけord()です。

s = 'abc'
print(''.join(map(lambda x:str(ord(x)),s)))  # outputs "979899"
于 2012-10-07T19:16:24.827 に答える
0

16進数から文字列を取得するには、次を使用できます。

s=str(616263)
print "".join([chr(int(s[x:x+2], 16)) for x in range(0,len(s),2)])

http://ideone.com/dupgsを参照してください

于 2012-10-07T19:21:50.523 に答える