Python代码无法打印字符串十六进制值,应如何修改?
错误原因
你当前使用的str.format()方法没有在格式化字符串中预留占位符,所以传入的十六进制字符串参数没有被渲染到输出内容中,仅打印了固定前缀。
修复方案
你可以任选以下任意一种方式修改print语句:
- 方案1:给格式化字符串补充占位符
{}
把原有print行改为:print("Hex: {}".format(hex_string)) - 方案2:使用Python3.6+支持的f-string语法,写法更简洁直观
把原有print行改为:print(f"Hex: {hex_string}") - 方案3:直接通过print的多参数特性拼接输出
把原有print行改为:print("Hex:", hex_string)
修复后完整可运行代码
string = "Karma police, arrest this man, he talks in maths" byte_string = string.encode("utf-8") hex_string = byte_string.hex() # 任选上述一种方案即可,这里以f-string为例 print(f"Hex: {hex_string}")
运行输出示例
Hex: 4b61726d6120706f6c6963652c206172726573742074686973206d616e2c2068652074616c6b7320696e206d61746873
内容的提问来源于stack exchange,提问作者sctts-lol
相关产品推荐
相关产品推荐

