如何使用Python中的ASCII转换将十六进制值转换为整数?

时间:2019-05-21 23:40:59

标签: python hex ascii

我需要将十六进制数字转换为整数。

我有n=2,然后使用newN=hex(n),这给了我值0x32。现在,我尝试使用int(newN,16)将其重新转换为整数值,但这无济于事,只给了我一个空字符串。 我也尝试过chr(int(newN,16)),但结果相同。

这是测试代码

n = '2'
newN = hex(n)
print(str(newN))
oldN = chr(int(newN, 16))
print(str(oldN))

我得到以下信息:

0x32

1 个答案:

答案 0 :(得分:1)

首先,您的问题是不正确的n变量的类型为string(长度为1),而不是整数。 (因为它对应于十六进制值50,相当于ASCII中的“ 2”)

代码:-

n = '2'

# Ord(n) gives us the Unicode code point of the given character ('2' = 50)
# hex() produces its hexadecimal equivalent (50 = "0x32")
n_hex = hex(ord(n))

# 0x32
print(n_hex)

# Ord(n) gives us the Unicode code point of the given character ('2' = 50) 
n_hex_int = ord(n)

# 50
print(n_hex_int)

输出:-

0x32
50