我如何显示一个字节的位长度,而不是整数
how do i show bit length of a byte, NOT Integer
#Python 3+
我读取了 bin 字节
读取大小=1
以 f 打开(ArgsFile,“rb”):
字节 = f.read(ReadSize)
打印(字节)
示例输出
'h'
显示我要写的 Pos 整数
打印(len(bin(1)[2:]))
或负整数
len(bin(-1)[3:])
如何打印从文件中读取的字节所需的位长度?
您可以尝试这样的操作:
测试文件:
$ hexdump -C ~/test.bin
00000000 b1 23 50 c2 06 |.#P..|
00000005
test.py:
import sys
def main():
with open("test.bin", "rb") as f:
while b := f.read(1):
bits = int.from_bytes(b, sys.byteorder).bit_length()
print(b.hex(), bits)
if __name__ == "__main__":
main()
测试:
$ python test.py
b1 8
23 6
50 7
c2 8
06 3
#Python 3+
我读取了 bin 字节 读取大小=1
以 f 打开(ArgsFile,“rb”): 字节 = f.read(ReadSize) 打印(字节)
示例输出 'h'
显示我要写的 Pos 整数 打印(len(bin(1)[2:])) 或负整数 len(bin(-1)[3:])
如何打印从文件中读取的字节所需的位长度?
您可以尝试这样的操作:
测试文件:
$ hexdump -C ~/test.bin
00000000 b1 23 50 c2 06 |.#P..|
00000005
test.py:
import sys
def main():
with open("test.bin", "rb") as f:
while b := f.read(1):
bits = int.from_bytes(b, sys.byteorder).bit_length()
print(b.hex(), bits)
if __name__ == "__main__":
main()
测试:
$ python test.py
b1 8
23 6
50 7
c2 8
06 3