Python从二进制字符串转换为十六进制

2022-01-09 00:00:00 python binary hex

问题描述

如何在 Python 中将二进制字符串转换为对应的十六进制值?

我有 0000 0100 1000 1101 我想获得 048D 我正在使用 Python 2.6.

解决方案

int 给定 base 2 然后 hex:

>>>整数('010110',2)22>>>十六进制(整数('010110',2))'0x16'>>>>>>十六进制(整数('0000010010001101',2))'0x48d'

int的文档:

<块引用>

int(x[, base]) ->整数如果可能,将字符串或数字转换为整数.一个漂浮的

点参数将被截断为零(这不包括字符串浮点数的表示!)转换字符串时,利用可选基地.转换 a 时提供碱基是错误的非字符串.如果基数为零,则根据字符串内容.如果参数超出整数范围将改为返回长对象.

hex的文档:

<块引用>

十六进制(数字)->细绳返回整数或长整数的十六进制表示

整数.

How can I perform a conversion of a binary string to the corresponding hex value in Python?

I have 0000 0100 1000 1101 and I want to get 048D I'm using Python 2.6.

解决方案

int given base 2 and then hex:

>>> int('010110', 2)
22
>>> hex(int('010110', 2))
'0x16'
>>> 

>>> hex(int('0000010010001101', 2))
'0x48d'

The doc of int:

int(x[, base]) -> integer

Convert a string or number to an integer, if possible.  A floating

point argument will be truncated towards zero (this does not include a string representation of a floating point number!) When converting a string, use the optional base. It is an error to supply a base when converting a non-string. If base is zero, the proper base is guessed based on the string content. If the argument is outside the integer range a long object will be returned instead.

The doc of hex:

hex(number) -> string

Return the hexadecimal representation of an integer or long

integer.

相关文章