是否有一种方法可以将一串文本转换为'you'除以外的数字
y = tuple('you')
for k in y:
k = ord(k)
Run Code Online (Sandbox Code Playgroud)
只能一次转换一个字符?
pok*_*oke 11
为了将字符串转换为数字(反之),您应该首先使用bytes.由于您使用的是Python 3,因此字符串实际上是Unicode字符串,因此可能包含ord()值大于255的bytes字符.但每个字符只有一个字节; 所以你应该首先在这两种类型之间进行转换.
所以基本上,你正在寻找一种方法将一个bytes字符串(基本上是一个字节列表,一个数字列表0-255)转换成一个数字,反之亦然.你可以使用int.to_bytes和int.from_bytes为此:
import math
def convertToNumber (s):
return int.from_bytes(s.encode(), 'little')
def convertFromNumber (n):
return n.to_bytes(math.ceil(n.bit_length() / 8), 'little').decode()
Run Code Online (Sandbox Code Playgroud)
>>> convertToNumber('foo bar baz')
147948829660780569073512294
>>> x = _
>>> convertFromNumber(x)
'foo bar baz'
Run Code Online (Sandbox Code Playgroud)