gpt4 book ai didi

python - 类型错误 : ord() expected string of length 1, 但找到 int

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:53 27 4
gpt4 key购买 nike

我尝试在 python 3 中实现 AES 算法。在实现此算法时,我发现 ord() 函数中存在错误。我只是尝试将代码从 python 2.3 转换为 python 3。如何修复该错误?我的代码行是:

key = map(ord, key)

提前致谢

最佳答案

您的关键变量已经是 bytes对象(Py2 中的str)。在 Py2 中,str是长度为 1 str 的序列,所以你需要ord转换为 int 的序列.

在 Py3 中,bytes对象是 int 的序列s 从 0 到 255(含)。基本上,在 Python 2 中,您需要 map(ord, key)str 转换到list的序列(int) ,在Python 3中,你根本不需要执行转换,除非你需要改变序列,即使这样,你也可以简单地执行 bytearray(key) 。制作原始版本的可变副本 bytes .

请注意,Py2.6+ 有 bytearray类型,它的行为与 Py3 中的行为相同(int 的可变序列),因此您可能只需使用 bytearray(key) 即可编写 2/3 可移植代码无处不在(并且启动速度比 map(ord, key) 更快)。

关于python - 类型错误 : ord() expected string of length 1, 但找到 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41843579/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com