首页 > 后端开发 > Python教程 > 如何在 Python 中转换 ASCII 和二进制表示形式?

如何在 Python 中转换 ASCII 和二进制表示形式?

Patricia Arquette
发布: 2024-11-30 14:52:10
原创
166 人浏览过

How to Convert Between ASCII and Binary Representations in Python?

将二进制转换为 ASCII 并返回

给定的代码片段将字符串转换为二进制表示形式。为了理解其机制,我们来分析一种替代方法。

Python 2:ASCII 字符范围

对于 [ -~] 范围内的 ASCII 字符,Python 2 提供了一个更简单的解决方案:

import binascii

n = int(binascii.hexlify('hello'), 16)
binary_representation = bin(n)
登录后复制

此代码将字符串 'hello' 转换为十六进制表示,然后转换为二进制表示形式。

反转转换

要将二进制表示形式转换回字符串:

n = int('0b110100001100101011011000110110001101111', 2)
string_representation = binascii.unhexlify('%x' % n)
登录后复制

这将转换二进制表示形式返回到十六进制表示形式,然后转换为原始字符串“hello”。

Python 3.2 :

Python 3.2 引入了额外的方法:

n = int.from_bytes('hello'.encode(), 'big')
binary_representation = bin(n)
登录后复制
n = int('0b110100001100101011011000110110001101111', 2)
string_representation = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode()
登录后复制

Python 3 中的 Unicode 支持:

支持所有Python 3 中的 Unicode 字符:

def text_to_bits(text, encoding='utf-8', errors='surrogatepass'):
    # ...

def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'):
    # ...
登录后复制

这个函数在文本和二进制表示之间进行转换,支持 Unicode 字符。

以上是如何在 Python 中转换 ASCII 和二进制表示形式?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板