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.2rc1.tar.gz
(132.6 kB
view hashes)
Built Distributions
Close
Hashes for pybase16384-0.2.2rc1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25f456b29a7cf5ca99324c9edc7eda35a9619b37227f1a49ec84c9ec44b5b49 |
|
MD5 | d986340e34cca637eec2055edad761c5 |
|
BLAKE2b-256 | 689a3cc19c8dc3ba594b8b82de57ddef0aa57980065bb7ed4dd8e91985d3888b |
Close
Hashes for pybase16384-0.2.2rc1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 566a8073572dff1783162f173774f012b1b28740bdbae5280fa95824a680b934 |
|
MD5 | d3de3824ec0e681b4b0fc7940df7aa40 |
|
BLAKE2b-256 | 711eb69386eb7bba9cc91b19b7d2a6bb39e4f8c1bb55bbd1b10252e3cc116f63 |
Close
Hashes for pybase16384-0.2.2rc1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0581cf3ab0600808aa546d124f7e6f9b527071eab7d7acfd1466734e1d09665a |
|
MD5 | a6fe44f2a0cb7e18daa8a0074dfaa0e6 |
|
BLAKE2b-256 | c78efa88701ad2c033b702cd745ee52f9c663e7aaeb73c25999a7fcafecaec93 |
Close
Hashes for pybase16384-0.2.2rc1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0a68ad2245eb51e06acac5e8bcbb132b1de9941bd4a7344c4cdc323dd2a73c7 |
|
MD5 | 4f4bc4d7a4d3691c572508812b545516 |
|
BLAKE2b-256 | 1fe456ed898e65c3a31da1fdb9360fdbbd88f00d064a6721f4f5527cb5e6441c |
Close
Hashes for pybase16384-0.2.2rc1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fd5c25d864b4cb6ee2d835a70e50dde08714a9f88cf91f4ca91a21430cb41e4 |
|
MD5 | 883204ea5315b6c1766716daa296034f |
|
BLAKE2b-256 | 33eca854bbfa17fdc32c63c3d151a66b4dce3124f63ebd6be7d23f7ca563a7ee |
Close
Hashes for pybase16384-0.2.2rc1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a08a4c05de5672e1b51aaccbe28220ef1bcfad31dde287d2d44246607e1a2a8 |
|
MD5 | 22e7be902fe600477d3d702b109e0ec6 |
|
BLAKE2b-256 | 732ac3b61bb24afa6687bf7f457d19a350d2e03d374848b6a711d848a919c61e |
Close
Hashes for pybase16384-0.2.2rc1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 754bec6bb674607f4f72ed99a2edc4d8532a867ff5b6e2b77210b225fd92a4ba |
|
MD5 | 32603f82ac06a04445bde429997884c0 |
|
BLAKE2b-256 | 5ce806c4b715c46ef6bd7d63cc1d69242c4b30ec30993e0d4c877ff640aaf197 |
Close
Hashes for pybase16384-0.2.2rc1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca94299085788efd0324aaf4928c6bec7fb1a77aeaf66ed4a8a9b63983084fe1 |
|
MD5 | ae9cabb05b8656dd96f8020d992b62b6 |
|
BLAKE2b-256 | 409b86dee3d8ec65d7b553bbd753e05269f20260784726752d86a20b2fdb4d71 |
Close
Hashes for pybase16384-0.2.2rc1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97b8ffe2fdb41c8c5d910208b719b298d390a310b8f811f9d9861297398a5ae6 |
|
MD5 | fd5fea2a16688c8eba32afd2aca0f12b |
|
BLAKE2b-256 | 2bbd07357f43006193b35fdb55aa7d199e5f06dcc4dd392506d13b9afccd4ab7 |
Close
Hashes for pybase16384-0.2.2rc1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70ec31d43a12ca975c1ffb8c4f8c3db7667451effecae8332d35fb29f1852965 |
|
MD5 | d835378fecc26f12edc539e68e550761 |
|
BLAKE2b-256 | 8f380d70f3ec3c5e5cad1f21282a475a768490817fffdc928d342d44901673dd |
Close
Hashes for pybase16384-0.2.2rc1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 546f79ef882e95740cf03443a21babe359b5ecaf872a5cdf8816b99613b68176 |
|
MD5 | bf65395f847481092221ad324bc62cc1 |
|
BLAKE2b-256 | 7a8e6758ab594a1d0ee75680f593dcdfb3072779399ca97d99d929fa7f818e1d |
Close
Hashes for pybase16384-0.2.2rc1-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a718f43456a8f2c4c28445f7e426d66cfb9e9fd9e3fcb804719b658abbd1244e |
|
MD5 | 450a647541b6e0b3ebad35fd766d8a53 |
|
BLAKE2b-256 | 461e8f6b5d1d0168126b7d60db9f96a814b55a87c81911d15a9489236bbacbfa |
Close
Hashes for pybase16384-0.2.2rc1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fc6513418299fefd2afb5c9256dff478e2dae87bca920326806d219ece5f40f |
|
MD5 | d1923cce1e48c65d414d9628623f1ab5 |
|
BLAKE2b-256 | 295fcd263dc52d57ac7ad174fe730d9e2f1fabae4cf8dc9b1fc95d9605d39f67 |
Close
Hashes for pybase16384-0.2.2rc1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 927f0a281e1b39b8f5e16cfaf3abc6de9eac86a2e4f98912ba2a9dfa7d425b51 |
|
MD5 | 49559b88ecea2e48f6234631dfec0a2e |
|
BLAKE2b-256 | ad63051ad74d69a10771e57ce4ba0b5004448ee5339759220d18a7fcd73b86c1 |
Close
Hashes for pybase16384-0.2.2rc1-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92855401fd50fd9a5e0865cc7db7449ab807af0421a7ab68c495260a2a515a12 |
|
MD5 | f69c0310e71fc6d81f02aaddd90801f9 |
|
BLAKE2b-256 | 29bfa67e81ae9ed3083618300ffa190808ee41ab8ac8ae89af1d0db589a4b1f8 |