base16384 encode and decode
Project description
✨ pybase16384 ✨
The python binding for base16384
一种神奇的编码
使用
- 编码/解码文本
>>> import pybase16384 as pybs
>>> pybs.encode_string('hello!!')
'栙擆羼漡'
>>> pybs.decode_string('栙擆羼漡')
'hello!!'
- 编码文件
from io import BytesIO
import pybase16384 as pybs
with open("input.pcm", "rb") as f:
data = f.read()
for i in range(1):
pybs.encode_file(BytesIO(data), open("output2.pcm", 'wb'), True)
- 解码文件
from io import BytesIO
import pybase16384 as pybs
with open("output2.pcm", "rb") as f:
data = f.read()
for i in range(1):
pybs.decode_file(BytesIO(data), open("input2.pcm", 'wb'))
公开函数
def encode_len(dlen: int) -> int: ...
def decode_len(dlen: int, offset: int) -> int: ...
def encode(data: bytes) -> bytes: ...
def decode(data: bytes) -> bytes: ...
def decode_file(input: BinaryIO, output: BinaryIO, buf_rate: int = 10) -> None: ...
def encode_file(input: BinaryIO, output: BinaryIO, boolwrite_head: bool = False, buf_rate: int = 10) -> None: ...
def encode_from_string(data: str, write_head: bool = False) -> bytes: ...
def encode_to_string(data: bytes) -> str: ...
def encode_string(data: str) -> str: ...
def decode_from_bytes(data: bytes) -> str: ...
def decode_from_string(data: str) -> bytes: ...
def decode_string(data: str) -> str: ...
-
write_head将显式指明编码出的文本格式(utf16be),以便文本编辑器(如记事本)能够正确渲染,一般在写入文件时使用。
-
buf_rate指定读取文件的策略。当它为n时,则表示一次读取7n或者8n个字节。如果读到的字节长度小于预期,则说明长度不够, 此时,n将减半,恢复文件指针,重新读取。如果当n=1时长度仍然不够,就地encode/decode处理之。
-
encode_len
和decode_len
用于计算输出的长度
内部函数
- 他们直接来自底层的C库,高性能,但是一般不需要在外部使用(除非是增加性能)
def _encode(data: BufferProtocol) -> bytes: ...
def _decode(data: BufferProtocol) -> bytes: ...
def _encode_into(data: BufferProtocol, dest: BufferProtocol) -> int: ...
def _decode_into(data: BufferProtocol, dest: BufferProtocol) -> int: ...
_decode
在解码b'='
开头的数据时不安全:解释器异常_encode_into
和_decode_into
直接操作缓冲区对象的底层指针,0拷贝,当然也和上面一样的问题,他们是没有检查的
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pybase16384-0.2.1.tar.gz
(132.9 kB
view hashes)
Built Distributions
Close
Hashes for pybase16384-0.2.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c68135e8a1228eee6ba7823d1baa2297d1f80593051a61d42026b6ccbd7876a |
|
MD5 | fa446edc544bf6a9d8ef1a025b40a081 |
|
BLAKE2b-256 | 92cf227188b240de801ca5fcb36a58785c56f8a1c392367351f764fc8cb414f5 |
Close
Hashes for pybase16384-0.2.1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78f244aaf2cc2480a348628d389fbba859d732aa9e389f21c049a6c0074f53b6 |
|
MD5 | cf53cf9a7236d0e65698685574ae5a45 |
|
BLAKE2b-256 | cbd48b933ce71514ea5190ca7f6ffd8f125a9d4e237739980f955f0e4792e985 |
Close
Hashes for pybase16384-0.2.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cff1fe490cfa4cda03121efe80fe3c3591e0f4b9f407e368be7b36f687d865dd |
|
MD5 | 297fb52c22358667d96e96f2f9320ec2 |
|
BLAKE2b-256 | 11caa314a6cacc04a3bfad7d69aa0c4a7dbe401eb4b8f6c31a647f33475ae5a5 |
Close
Hashes for pybase16384-0.2.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee705f10ec8ecb2d8d1393f92943d99f765caaba0f31a28dcf70b562ecffa596 |
|
MD5 | 0e42c364870da9c7563dd6b558f55552 |
|
BLAKE2b-256 | dbac6c404da651cb663ecc272682fde0fd9599cbd38ee1cca728b11fcf5d297f |
Close
Hashes for pybase16384-0.2.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a8cf9b392cf04725e10770a0416476d065f26f7ee7232e8d508f3391575a734 |
|
MD5 | 6c68fb2ef23002095ba6592daa7b2993 |
|
BLAKE2b-256 | e4978b22a3ca141480e690c3f076d2d961ec61efaf0c495cb3da94162ec74c4e |
Close
Hashes for pybase16384-0.2.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcd18d308df79128b9f7b5b19a26e3d85f407d690e14385401160be13ecf504d |
|
MD5 | c15119e6b0fabdd5c0490b6718864786 |
|
BLAKE2b-256 | eb82f5b655422a2e5cc54b4a8a1321967d586faae8263a0acdd1b211a03da9c8 |
Close
Hashes for pybase16384-0.2.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec4b1fb1e2466a974e75f320be874d4f1571e66f1d779e444c9547e87b4052f |
|
MD5 | 2bbeb74b39cfd95ce1b0276879074c7f |
|
BLAKE2b-256 | 22a0ff3d8622e3c354ee58a9d55919c9e8fb11632bd1499888d7b72be6f25f49 |
Close
Hashes for pybase16384-0.2.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f966b60ea742d1b4fc443e54d33560e7f4d6bec8bbd48468973c257a5b87a0f1 |
|
MD5 | 30dd1aa9ab702542adc3b9cf1c016692 |
|
BLAKE2b-256 | 84a4c4efe141b341b27deb5a4fefb73ae64e42b5d12d386de498059cbe7315a4 |
Close
Hashes for pybase16384-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0451fcb058e8ae049c7c1d5dcf5d6e8c32939bd6d28201339252d96fa9e62f0f |
|
MD5 | 197d5746d1e8c4c5e0468f43649cec96 |
|
BLAKE2b-256 | 6afb6d23996ff68a1ad6e5182ce75cae74aa4ea90bdfbd6fb67c02c0cae77b2c |
Close
Hashes for pybase16384-0.2.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 852be727e1f7e58609acb9bf890e1f3a2d0e1bbfe85f432a05a48e0b88802f5f |
|
MD5 | 382397f6f99db0f2152f465c80cb355a |
|
BLAKE2b-256 | e36e90e0b69e090cdf0577fda1c47cab9136b072ba3b457eab39d7ce82a5b820 |
Close
Hashes for pybase16384-0.2.1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9423bd4914a9c76469b6c3826d06dea476711e3c2130f8e5704198f1ca0324b5 |
|
MD5 | 19bf5a2656a29a871ee19b984cb09725 |
|
BLAKE2b-256 | c8c66319a5cca52c1938f692301a9d5c4af5e4c82660f07b338e584df32cac9e |
Close
Hashes for pybase16384-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f9d01ee27dfed025a2f48bdf089289a38a6b0e9103ea590b2157ace8ea85a02 |
|
MD5 | 0e3010d2e011b5a178af716ef67076e6 |
|
BLAKE2b-256 | fafe42839bbfc31fe5dba23080049504ef1dc4c18cb987a5ed0253900420c4b3 |
Close
Hashes for pybase16384-0.2.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1053e86845b59d4ca758d179a6c178df0c9758ff65931f105252fc785da29fb2 |
|
MD5 | 730da972d202f0624aec2b654c67da96 |
|
BLAKE2b-256 | 4ff9c550b86e084ba00abd3b76f0ec82c482fb68fb42b36fb38a81220f7b0501 |
Close
Hashes for pybase16384-0.2.1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e259034c47f451fd5ebf6eac271b58761dde04a7109e8028f20e73f72926656e |
|
MD5 | c8069c20141325f30134d28ce1c4120f |
|
BLAKE2b-256 | 8dda88d97dd27f84bf00d1a03f984fc9c3ddf91260661b0aeb980030a25ebbc3 |
Close
Hashes for pybase16384-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41bcb7e2a20a967c6fb58899670dfaab2d0c8ff0ea09cc2d3e12dbb0c1fb7467 |
|
MD5 | aa47c4ec62abfdd7d366b5156957ee85 |
|
BLAKE2b-256 | 205e896f791e89f6ad708ce2daf7420f2151dd7d67fbf6b4c3e7e8d59e4e68d9 |