我刚刚开始通过在线课程开始使用python进行编程,并且我们需要使用rot13编码字符串之一。我使用了maketrans方法,一切都很顺利,但我很好奇如何将字母“编码”为数字。例如,我能否将字母表中每个字母的值分配给一个数字? A-Z = 1-26?我不知道如何使用双数字。请帮忙。谢谢。Python解码器:字母到数字
-1
A
回答
1
使用ord()
和chr()
函数可以将字符转换为数字,反之亦然。字母和digets的数字对应于ASCII标准。
>>> ord('A')
65
>>> chr(65)
'A'
要打开,为数字1和26之间,减去64,或使用ord('@')
(也64)。
另一种选择是使用string.ascii_uppercase
variable,让您找到一个字母的“索引”,从0:
>>> string.ascii_uppercase.index('B')
1
>>> string.ascii_uppercase.index('C')
2
>>> string.ascii_uppercase[3]
'D'
您可以使用技术来创建字母映射到数字,也许:
>>> letters = {c: i for i, c in enumerate(string.ascii_uppercase)}
>>> letters['M']
12
0
例如,我会能够分配字母表中的每个字母与数字的价值? A-Z = 1-26?
为了编码:
>>> ''.join('%02d' % (ord(c) - ord('A') + 1) for c in 'SECRET')
'190503180520'
为了解码:
>>> encoded = '190503180520'
>>> ''.join(chr(int(encoded[i:i+2]) + ord('A') - 1) for i in range(0, len(encoded), 2))
'SECRET'
相关问题
- 1. 编码的Python为*仅*字母数字
- 2. 字母计数器代码
- 3. 摩尔斯电码到字母数字(python)
- 4. Python的字母数字
- 5. Python代码连续字母
- 6. 循环的Python代码计数字母
- 7. 字母数字计数器
- 8. 使用数组将数字解码为字母
- 9. 字母数字移动到数字
- 10. Python删除字符,直到字母或数字
- 11. python字节码解释器实现
- 12. 编码器到解码字符串
- 13. “找字符”代码找到一个字中的字母数量
- 14. Python 3 - 编码字符串中的字母数
- 15. 字符串python中的字母计数
- 16. 解密Python字解密器
- 17. ZPL:用字母,数字条码UCC128
- 18. 检查数字和字母的密码
- 19. C#字母数字密码验证?
- 20. Python:删除非字母字
- 21. Python金字塔与字母
- 22. 用字母数字字符串打印Python数字
- 23. UnicodeDecodeError:'utf-8'编解码器无法解码字节(python)
- 24. Python BeautifulSoup find_all'ascii'编解码器无法解码字节
- 25. Python - 'ascii'编解码器无法解码字节
- 26. UnicodeDecodeError:'ascii'编解码器无法解码字节... Python 2.7和
- 27. Python - 'ascii'编解码器无法解码字节
- 28. 得到前3个字母数字字符(只有数字或字母)
- 29. 解码字符串:Python的
- 30. 解码Python字符串
http://en.wikipedia.org/wiki/ASCII [ASCII在python的字符的值的 – AJcodez 2013-03-06 18:40:33
可能重复](http://stackoverflow.com/questions/227459/ascii-value-of-a-character-in-python) – 2013-03-06 20:59:15