在Python中将十六进制字符串转换为int
如何在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相关推荐
- scala字符串转int_如何在Scala中将十六进制字符串转换为int?
scala字符串转int The hex string is also known as Hexadecimal Number String is a number created using hex ...
- scala 字符串转换数组_如何在Scala中将十六进制字符串转换为字节数组?
scala 字符串转换数组 Hex String in Scala denotes value in hexadecimal number system i.e. base 16 number sys ...
- mysql 十六进制 转换为字符串_在MySQL中将十六进制字符串转换为数字?
使用该CONV()方法将十六进制字符串转换为数字-select CONV(yourColumnName,16,10) AS anyAliasName from yourTableName; 让我们首先 ...
- java 十六进制转为int_关于java:将十六进制字符串转换为int
我正在尝试将十六进制代码长8个字符的字符串转换为整数,以便可以进行int比较,而不是对许多不同值进行字符串比较. 我知道在C ++中这是微不足道的,但是我需要在Java中完成. 我需要满足的测试用例本 ...
- linux 字符转int,如何在Linux内核中将char []字符串转换为int?
如何在linux内核中将char []转换为int 验证输入的文本实际上是一个int? int procfile_write(struct file *file, const char *buffer ...
- python写货币转换_如何在Python中将货币字符串转换为浮点数?
扩展为在括号中包含负数: In [1]: import locale, string In [2]: from decimal import Decimal In [3]: n = ['$1,234. ...
- 将Python字符串转换为Int,将Int转换为String
In this tutorial, we will learn how to convert python String to int and int to String in python. In ...
- 在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 ...
- 如何在Python中将一个字符串附加到另一个字符串?
我想要一种有效的方法在Python中将一个字符串附加到另一个字符串. var1 = "foo" var2 = "bar" var3 = var1 + var2 ...
最新文章
- 2021易烊千玺高考成绩查询,易烊千玺高考分数公布?最骄傲的是他?网友:分太低!...
- Android中CardView的简单使用
- php的cms是什么意思,phpcms是什么
- php运行的四个黄金组合,PHP168与Phpwind强势整合 打造黄金组合
- kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
- 53.NFS 服务器
- OpenJudge计算概论-字符串最大跨距
- it男如何像黑客一样聊天qq
- 请告诉孩子:努力读书,是为将来拥有更多选择的权利,而不是被迫谋生
- windows图片和传真查看器的调出
- 『转』Unicode汉字编码表
- 补充:消除epsilon产生式等
- 基于Spark的案例:同义词识别
- cesium中实现鼠标拖动实体功能
- 第二周 Turtle库的使用
- 【校招VIP】[推电影项目]产品的规划和商业化分析
- HTTP, 网络七层模型
- [长城杯 2022]办公室爱情
- win10搜索框突然不能搜索本地应用
- trello清单(二)
热门文章
- ×××病毒分析工具集之File Format Identifier v1.0
- [LOJ 6485]LJJ 学二项式定理
- ios 避免两个button同一时候被点击
- [CH5E02] A Little Shop of Flowers
- Microsoft Visual Studio Ultimate 2013密钥
- iphoneX的适配问题
- 读《NoSQL精粹》前三章有感
- 【转载】Delphi获取与设置系统时间格式(长日期与短日期)
- Linux基础急速入门:用 TCPDUMP 抓包
- shell 简介(常用shell之bash)