Python 3中如何将0-255整数列表转为无0x的两位十六进制字符串
解决方案
嘿,这事儿其实用Python的格式化字符串就能轻松搞定,直接上代码:
numbers = [79, 104, 44, 32, 105, 116, 32, 119, 111, 114, 107, 115, 32, 102, 2, 2] hex_str = ''.join(f'{num:02x}' for num in numbers) print(hex_str) # 输出正好是你要的:4f682c20697420776f726b7320660202
我来拆解下关键部分:
f'{num:02x}'这个格式化表达式是核心:x指定把数字转换成小写十六进制(如果需要大写结果,换成X就行)02强制要求结果是两位长度,数字小于16(也就是十六进制一位数)的时候自动补前导零,完全符合你的要求
''.join(...)把每个数字转换后的十六进制字符串拼接成一个完整的长串,全程不会出现讨厌的0x前缀
要是你想测试单个数字的效果,比如f'{2:02x}'会返回'02',f'{79:02x}'返回'4f',和示例里的对应部分完全匹配~
内容的提问来源于stack exchange,提问作者user6346482
相关产品推荐
相关产品推荐

