如何使用相同的打印字符串将字符串转换为十六进制
how to convert a string into hex with the same printed string
如何将字符串 x='0x67c31080115dDfeBa0474B3893b2caB1d567438f'
转换为十六进制 x=0x67c31080115dDfeBa0474B3893b2caB1d567438f
?
我想使用相同的十六进制值但不是字符串格式
换句话说,我如何将 x 视为十六进制值而不是字符串类型(不带 ' ')
谢谢
您可以使用 ast.literal_eval
:
import ast
x='0x67c31080115dDfeBa0474B3893b2caB1d567438f'
hex_val = hex(ast.literal_eval(x))
print(hex_val)
没有"hex value"这样的东西。 0x67c31080115dDfeBa0474B3893b2caB1d567438f
属于类型 int
。您可以将字符串转换为 int
只需:
x = int(x, 16)
但是,如果您想将其打印为十六进制,请使用:
print(hex(x))
或
print("{:x}".format(x))
(第一个在字符串开头加“0x”,另一个不加)
如何将字符串 x='0x67c31080115dDfeBa0474B3893b2caB1d567438f'
转换为十六进制 x=0x67c31080115dDfeBa0474B3893b2caB1d567438f
?
我想使用相同的十六进制值但不是字符串格式
换句话说,我如何将 x 视为十六进制值而不是字符串类型(不带 ' ')
谢谢
您可以使用 ast.literal_eval
:
import ast
x='0x67c31080115dDfeBa0474B3893b2caB1d567438f'
hex_val = hex(ast.literal_eval(x))
print(hex_val)
没有"hex value"这样的东西。 0x67c31080115dDfeBa0474B3893b2caB1d567438f
属于类型 int
。您可以将字符串转换为 int
只需:
x = int(x, 16)
但是,如果您想将其打印为十六进制,请使用:
print(hex(x))
或
print("{:x}".format(x))
(第一个在字符串开头加“0x”,另一个不加)