首页  > 教育解读  > python怎么二进制转换

python怎么二进制转换

2025-05-06 09:26:44
抓住机遇
抓住机遇已认证

抓住机遇为您分享以下优质知识

Python的二进制转换主要通过内置函数和标准库实现,具体方法如下:

一、二进制与十进制转换

十进制转二进制

- 使用 `bin()` 函数:`bin(number)` 返回以 `0b` 开头的二进制字符串(如 `bin(42)` 返回 `'0b101010'`)`

- 去掉前缀:`bin(number)[2:]`(如 `'101010'`)

- 使用 `int()` 函数:`int(binary_string, 2)`(如 `int('101010', 2)` 返回 `42`)

二进制转十进制

- 使用 `int()` 函数:`int(binary_string, 2)`(如 `int('101010', 2)` 返回 `42`)

二、二进制与十六进制转换

二进制转十六进制

- 使用 `hex()` 函数:`hex(number)` 返回十六进制字符串(如 `hex(42)` 返回 `'0x2a'`)

- 使用 `binascii` 模块:`binascii.hexlify(binary_data)`(如 `binascii.hexlify(b'x1a')` 返回 `'2a'`)

十六进制转二进制

- 使用 `binascii.unhexlify()`:`binascii.unhexlify(hex_string)`(如 `binascii.unhexlify('2a')` 返回 `b'x1a'`)

- 使用 `int()` 函数:`int(hex_string, 16)`(如 `int('2a', 16)` 返回 `42`)

三、字符转二进制

字符转ASCII码再转二进制

- 使用 `ord()` 获取ASCII码:`ord('A')` 返回 `65`

- 使用 `bin()` 转换:`bin(65)` 返回 `'0b1000001'`

- 去掉前缀并补齐位数:`bin(65)[2:].zfill(8)` 返回 `'01000001'`

四、文件二进制转换

使用 `binascii.a2b_hex()` 将十六进制文件内容转换为二进制数据,或 `binascii.a2b_base64()` 进行base64编码。

五、其他进制转换

八进制转二进制:

`oct(number)` 返回 `'0o12'`,再通过 `bin()` 转换

十进制转八进制:`oct(number)` 返回 `'0o12'`

以上方法覆盖了Python中常见的二进制转换需求,可根据具体场景选择合适的方式。