标签:python python-3-x
是否有一种方法可以将诸如“你”之类的文本字符串转换为除以外的数字
y = tuple('you')
for k in y:
k = ord(k)
只能一次转换一个字符?
解决方法:
为了将字符串转换为数字(反之),您应该首先使用字节.由于您使用的是Python 3,因此字符串实际上是Unicode字符串,因此可能包含ord()值大于255的字符.但是每个字符只有一个字节;所以你应该首先在这两种类型之间进行转换.
所以基本上,你正在寻找一种方法将字节字符串(基本上是一个字节列表,一个数字列表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()
>>> convertToNumber('foo bar baz')
147948829660780569073512294
>>> x = _
>>> convertFromNumber(x)
'foo bar baz'
标签:python,python-3-x 来源: https://codeday.me/bug/20190710/1424929.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。