如何在Python中将十六进制字符串转换为int?

我可能将其设置为“ 0xffff ”或“ ffff ”。


#1楼

在上述Dan的答案中加上:如果为int()函数提供了十六进制字符串,则必须将基数指定为16,否则它不会认为您给了它有效的值。 对于字符串中不包含的十六进制数字,无需指定基数16。

print int(0xdeadbeef) # validmyHex = "0xdeadbeef"
print int(myHex) # invalid, raises ValueError
print int(myHex , 16) # valid

#2楼

加上“ 0x”前缀,您也可以使用eval函数

例如

>>a='0xff'
>>eval(a)
255

#3楼

格式化程序选项'%x'%对我来说似乎也可以在赋值语句中使用。 (假设Python 3.0及更高版本)

a = int('0x100', 16)
print(a)   #256
print('%x' % a) #100
b = a
print(b) #256
c = '%x' % a
print(c) #100

#4楼

int(hexString, 16)可以解决问题,并且可以使用和不使用0x前缀:

>>> int("a", 16)
10
>>> int("0xa",16)
10

#5楼

对于任何给定的字符串s:

int(s, 16)

#6楼

如果没有 0x前缀,则需要显式指定基数,否则无法告诉:

x = int("deadbeef", 16)

使用 0x前缀,Python可以自动区分十六进制和十进制。

>>> print int("0xdeadbeef", 0)
3735928559
>>> print int("10", 0)
10

(您必须0指定为基数,才能调用此前缀猜测行为;省略第二个参数意味着假定基数为10。)


#7楼

最坏的方法:

>>> def hex_to_int(x):return eval("0x" + x)>>> hex_to_int("c0ffee")
12648430

请不要这样做!

在Python中使用eval是不好的做法吗?


#8楼

在Python 2.7中, int('deadbeef',10)似乎不起作用。

以下对我有用:

>>a = int('deadbeef',16)
>>float(a)
3735928559.0

#9楼

在Python中将十六进制字符串转换为int

我可能将其"0xffff""0xffff"或仅仅是"ffff"

要将字符串转换为int,请将字符串与要转换的基数一起传递给int

两个字符串都可以通过以下方式进行转换:

>>> string_1 = "0xffff"
>>> string_2 = "ffff"
>>> int(string_1, 16)
65535
>>> int(string_2, 16)
65535

int推断

如果传递0作为基数,则int将从字符串中的前缀推断基数。

>>> int(string_1, 0)
65535

如果没有十六进制前缀0x ,则int没有足够的信息可用来猜测:

>>> int(string_2, 0)
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 0: 'ffff'

文字:

如果您要输入源代码或解释器,Python将为您进行转换:

>>> integer = 0xffff
>>> integer
65535

这不适用于ffff因为Python会认为您正在尝试编写合法的Python名称:

>>> integer = ffff
Traceback (most recent call last):File "<stdin>", line 1, in <module>
NameError: name 'ffff' is not defined

Python数字以数字字符开头,而Python名称不能以数字字符开头。


#10楼

ast.literal_eval (这很安全,与eval不同):

ast.literal_eval("0xffff")

演示:

>>> import ast
>>> ast.literal_eval("0xffff")
65535
>>>

#11楼

如果您使用的是python解释器,则只需键入0x(您的十六进制值),解释器就会自动为您转换。

>>> 0xffff65535

#12楼

处理十六进制,八进制,二进制,整数和浮点数

使用标准前缀(即0x,0b,0和0o),此函数会将任何合适的字符串转换为数字。 我在这里回答了这个问题: https : //stackoverflow.com/a/58997070/2464381,但这是必需的功能。

def to_number(n):''' Convert any number representation to a number This covers: float, decimal, hex, and octal numbers.'''try:return int(str(n), 0)except:try:# python 3 doesn't accept "010" as a valid octal.  You must use the# '0o' prefixreturn int('0o' + n, 0)except:return float(n)

在Python中将十六进制字符串转换为int相关推荐

  1. scala字符串转int_如何在Scala中将十六进制字符串转换为int?

    scala字符串转int The hex string is also known as Hexadecimal Number String is a number created using hex ...

  2. scala 字符串转换数组_如何在Scala中将十六进制字符串转换为字节数组?

    scala 字符串转换数组 Hex String in Scala denotes value in hexadecimal number system i.e. base 16 number sys ...

  3. mysql 十六进制 转换为字符串_在MySQL中将十六进制字符串转换为数字?

    使用该CONV()方法将十六进制字符串转换为数字-select CONV(yourColumnName,16,10) AS anyAliasName from yourTableName; 让我们首先 ...

  4. java 十六进制转为int_关于java:将十六进制字符串转换为int

    我正在尝试将十六进制代码长8个字符的字符串转换为整数,以便可以进行int比较,而不是对许多不同值进行字符串比较. 我知道在C ++中这是微不足道的,但是我需要在Java中完成. 我需要满足的测试用例本 ...

  5. linux 字符转int,如何在Linux内核中将char []字符串转换为int?

    如何在linux内核中将char []转换为int 验证输入的文本实际上是一个int? int procfile_write(struct file *file, const char *buffer ...

  6. python写货币转换_如何在Python中将货币字符串转换为浮点数?

    扩展为在括号中包含负数: In [1]: import locale, string In [2]: from decimal import Decimal In [3]: n = ['$1,234. ...

  7. 将Python字符串转换为Int,将Int转换为String

    In this tutorial, we will learn how to convert python String to int and int to String in python. In ...

  8. 在C ++中将字符串转换为int

    In this article, we will look at how we can convert a string to int in C++. Often, we may need to co ...

  9. 如何在Python中将一个字符串附加到另一个字符串?

    我想要一种有效的方法在Python中将一个字符串附加到另一个字符串. var1 = "foo" var2 = "bar" var3 = var1 + var2 ...

最新文章

  1. 2021易烊千玺高考成绩查询,易烊千玺高考分数公布?最骄傲的是他?网友:分太低!...
  2. Android中CardView的简单使用
  3. php的cms是什么意思,phpcms是什么
  4. php运行的四个黄金组合,PHP168与Phpwind强势整合 打造黄金组合
  5. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
  6. 53.NFS 服务器
  7. OpenJudge计算概论-字符串最大跨距
  8. it男如何像黑客一样聊天qq
  9. 请告诉孩子:努力读书,是为将来拥有更多选择的权利,而不是被迫谋生
  10. windows图片和传真查看器的调出
  11. 『转』Unicode汉字编码表
  12. 补充:消除epsilon产生式等
  13. 基于Spark的案例:同义词识别
  14. cesium中实现鼠标拖动实体功能
  15. 第二周 Turtle库的使用
  16. 【校招VIP】[推电影项目]产品的规划和商业化分析
  17. HTTP, 网络七层模型
  18. [长城杯 2022]办公室爱情
  19. win10搜索框突然不能搜索本地应用
  20. trello清单(二)

热门文章

  1. ×××病毒分析工具集之File Format Identifier v1.0
  2. [LOJ 6485]LJJ 学二项式定理
  3. ios 避免两个button同一时候被点击
  4. [CH5E02] A Little Shop of Flowers
  5. Microsoft Visual Studio Ultimate 2013密钥
  6. iphoneX的适配问题
  7. 读《NoSQL精粹》前三章有感
  8. 【转载】Delphi获取与设置系统时间格式(长日期与短日期)
  9. Linux基础急速入门:用 TCPDUMP 抓包
  10. shell 简介(常用shell之bash)