受 Java ByteBuffer 启发的字节操作库
项目描述
PyByteBuffer
受Java nio ByteBuffer启发的用于操作缓冲区的库
设置
pip3 install PyByteBuffer
用法
from PyByteBuffer import ByteBuffer
buf = ByteBuffer.allocate(50)
# write byte 0x10 and increment position by 1
buf.put(0x10)
buf.put([0xcc, 0xdd, 0xee])
buf.put('something')
buf.put(bytes([00] * 4))
# endianness
buf.put(123456, 'little')
buf.put(1234561434234234, 'big')
# read 1 byte and increment position by 1
value = buf.get(1)
# read 10 bytes little endian and increment position by 10
value = buf.get(10, 'little')
# other allocations
buf = ByteBuffer.from_hex('deadbeef')
buf = ByteBuffer.wrap(bytes())
关于演出
我们在这个库中可以做的性能分析都是围绕int->bytes bytes<-int之间的转换。
使用 python3 内置 api int.to_bytes/from_bytes、struct pack/unpack 和stackoverflow中发布的“原始”解决方案进行了 1/100/500/1000 转换循环测试
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
PyByteBuffer-1.0.5.tar.gz
(3.9 kB
查看哈希)
内置分布
PyByteBuffer-1.0.5-py3-none-any.whl
(5.2 kB
查看哈希)
关
PyByteBuffer -1.0.5.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 5aa1e83c28bf5570d09bae0913937514325a7239e818220506baff8a8c0b51f9 |
|
| MD5 | cd1b42b14714635c0422ed34c01e1b3f |
|
| 布莱克2-256 | 2207124736940ea5c8526c0e33c241fb25fce5b154e5481b243db50be42f7c3b |
关
PyByteBuffer -1.0.5-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a6332b48b9a2101bbaeeda086586f214407b7c66bca55210520ee3ac4292d2f0 |
|
| MD5 | 4809c303f00d13846e78fd39ce9ee815 |
|
| 布莱克2-256 | 53bb95539135ad829e93bb1f20bf1d43de8139b009668c672e0b33d8e91f39aa |