在 Python 中将随机字母数字字符串转换为十六进制 [重复]

问题描述 投票:0回答:1

我正在尝试将字母数字字符串转换为十六进制数。

以下代码按预期工作...

A = "f8g9dsf9s7ff7s9dfg98d9fg97s06s6df5"
B = int(A, 16)

当我尝试动态创建字母数字时,它会中断并且不会转换为十六进制数...

A = ''.join(random.choices(string.ascii_lowercase + string.digits, k=34))
B = int(A, 16)

感谢您的帮助,对 Python 非常陌生。

python string random alphanumeric
1个回答
3
投票

string.ascii_lowercase
是由 'a' 到 'z' 组成的整个字母组成的字符串,但只有 A..F 对以 16 为底的十六进制有效。使用非 A..F 字符调用
int()
将引发 ValueError。使用字符串“abcdef”作为字母。

import random
import string
A = ''.join(random.choices("abcdef"+ string.digits, k=34))
print(A)
B = int(A, 16)
print(B)

输出:

bf651615fd912a261eb4d5e752aec01f2e
65128298786024663864994496613621589614382
© www.soinside.com 2019 - 2024. All rights reserved.