相关疑难解决方法(0)

将二进制转换为ASCII,反之亦然

使用此代码获取字符串并将其转换为二进制:

bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in 'hello'), 0))
Run Code Online (Sandbox Code Playgroud)

这个输出:

0b110100001100101011011000110110001101111
Run Code Online (Sandbox Code Playgroud)

哪个,如果我把它放到这个网站(在右边的网站上),我得到了我的hello回信息.我想知道它使用什么方法.我知道我可以将二进制字符串拼接成8位,然后将其与相应的值bin(ord(character))或其他方式匹配.真的在寻找更简单的东西.

python binary ascii

72
推荐指数
3
解决办法
21万
查看次数

可以像Python 2.6中的oct()和hex()一样重载bin()吗?

在Python 2.6(及更早版本)中hex(),oct()内置函数可以通过定义__hex____oct__特殊函数在类中重载.但是,没有一个__bin__特殊的函数来重载Python 2.6的新bin()内置函数的行为.

我想知道是否有任何方式可以灵活地重载bin(),如果不是,我想知道为什么不一致的界面?

我知道__index__可以使用特殊功能,但这不灵活,因为它只能返回一个整数.我的特定用例来自bitstring模块,其中前导零位被认为是重要的:

>>> a = BitString(length=12)       # Twelve zero bits
>>> hex(a)
'0x000'
>>> oct(a)
'0o0000'
>>> bin(a)
'0b0' <------ I want it to output '0b000000000000'
Run Code Online (Sandbox Code Playgroud)

我怀疑没有办法实现这一目标,但我认为这不会有问题!

python binary overloading python-2.6

14
推荐指数
2
解决办法
2497
查看次数

标签 统计

binary ×2

python ×2

ascii ×1

overloading ×1

python-2.6 ×1