快速MUTF-8编码器和解码器
项目描述
mutf-8
此软件包包含用于MUTF-8字符编码的简单纯Python以及C编码器和解码器。在大多数情况下,您还可以解析更罕见的CESU-8。
这些天,当您处理与JVM相关的文件或协议时,最有可能遇到MUTF-8。Java .class
文件中的字符串使用MUTF-8编码,JNI传递的字符串以及对象序列化器导出的字符串。
此库是从Lawu中提取出来的,Lawu是一个用于处理JVM类文件的Python库。
🎉 安装
从PyPi安装此软件包
pip install mutf8
以下提供了二进制轮盘
py3.6 | py3.7 | py3.8 | py3.9 | |
---|---|---|---|---|
OS X (x86_64) | y | y | y | y |
Windows (x86_64) | y | y | y | y |
Linux (x86_64) | y | y | y | y |
如果不可用二进制轮盘,它将尝试使用任何C99编译器从源代码构建C扩展。如果无法构建,它将回退到纯Python版本。
用法
编码和解码简单
from mutf8 import encode_modified_utf8, decode_modified_utf8
unicode = decode_modified_utf8(byte_like_object)
bytes = encode_modified_utf8(unicode)
此模块 不会 在全局范围内注册自身作为编解码器,因为导入应该是无副作用的。
📈 基准测试
C扩展显著更快 - 通常快20倍到40倍。
MUTF-8解码
名称 | 最小值(μs) | 最大值(μs) | 标准差 | 操作数 |
---|---|---|---|---|
cmutf8-decode_modified_utf8 | 0.00009 | 0.00080 | 0.00000 | 9957678.56358 |
pymutf8-decode_modified_utf8 | 0.00190 | 0.06040 | 0.00000 | 450455.96019 |
MUTF-8编码
名称 | 最小值(μs) | 最大值(μs) | 标准差 | 操作数 |
---|---|---|---|---|
cmutf8-encode_modified_utf8 | 0.00008 | 0.00151 | 0.00000 | 11897361.05101 |
pymutf8-encode_modified_utf8 | 0.00180 | 0.16650 | 0.00000 | 474390.98091 |
C 扩展
C 扩展是可选的。如果不存在二进制包或 C 编译器,将使用纯 Python 版本。如果您想确保使用 C 版本,请直接导入它
from mutf8.cmutf8 import decode_modified_utf8
decode_modified_utf(b'\xED\xA1\x80\xED\xB0\x80')
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
mutf8-1.0.6.tar.gz (6.4 kB 查看散列值)
构建分布
mutf8-1.0.6-cp39-cp39-win_amd64.whl (11.4 kB 查看散列值)
mutf8-1.0.6-cp38-cp38-win_amd64.whl (11.4 kB 查看散列值)
mutf8-1.0.6-cp37-cp37m-win_amd64.whl (11.4 kB 查看散列值)
mutf8-1.0.6-cp36-cp36m-win_amd64.whl (11.5 kB 查看哈希值)
关闭
mutf8-1.0.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1bbbefb67c2e5a57104750bb04b0912200b57b2fa9841be245279e83859cb346 |
|
MD5 | 0a49ae9ae414a188a67fa7ac6597363a |
|
BLAKE2b-256 | ca313c57313757b3a47dcf32d2a9bad55d913b797efc8814db31bed8a7142396 |
关闭
mutf8-1.0.6-cp39-cp39-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4f7a24b55c53d508a7ecb2e8c6fe14e4fcefaa4c48100b446e73217ade7875a0 |
|
MD5 | aef180ef35a7a3b9a4321028fc322dc5 |
|
BLAKE2b-256 | d68ca5186e0116f2107856ea71babb5e9997cd5d717b952cf02a5cf1647aff2a |
关闭
mutf8-1.0.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6172b5babc0c819636830fc79ca9c3a82662ef1ee764c82c1b59fbf6ea54d82f |
|
MD5 | 1fd0c185a86833f27c0beba8c2e5f416 |
|
BLAKE2b-256 | 574a1ad8954084a75e308d978bb0ef95b61d29c84f8b4a4fbc0a687b62922789 |
关闭
mutf8-1.0.6-cp39-cp39-macosx_10_14_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3207a071ead14d928213019f12b5554b179f61a16a8094ed660b755990db3652 |
|
MD5 | f61c30756ca7e4fd3f19e6215fe16161 |
|
BLAKE2b-256 | dabc9e05f5b1d3156822bcdd8b07319f41d05f8ee7237643fd470255af95d6e8 |
关闭
mutf8-1.0.6-cp38-cp38-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0d1325d42806b31901a0ddd4ef199144e508fd9f6f3c75a8305d5979365b66c3 |
|
MD5 | 24299594fa9def9f16652a4036895a4f |
|
BLAKE2b-256 | 28c3f3f7b0f9000ebdbad8440941a7926b02c28231e434fb0fd7c80aad2b940c |
关闭
mutf8-1.0.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7a67e88534a7641c513dad13f2f7913239808df4a5d0b822eda0ff9024431e0b |
|
MD5 | e2642fd10c76114c6dbe287bb51dce94 |
|
BLAKE2b-256 | 4817c2b687871abff8e15ceb689e2c01ec3fe73a9461d428561ffd17278c2802 |
关闭
哈希值用于mutf8-1.0.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1f4f497f20e3ea7968496c1eb1e1cb259c53ad040879e1e83ffb755a12112a04 |
|
MD5 | 1682a9d2101df4b3def640c0d5f5d2cf |
|
BLAKE2b-256 | 37b951ac052f1d9ce1eca596a64a4b71ac32d05483d636c03e335be555ad6725 |
关闭
哈希值用于mutf8-1.0.6-cp37-cp37m-macosx_10_14_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e09f4a19e5500699bb42074890b463b785ab9a8d95c7d793e590405f3b4b29d7 |
|
MD5 | f310510d0212664f2359cb797b958d86 |
|
BLAKE2b-256 | 197aca090f94dc1848aeeafb02e739edb78092ea027afe30119eb97df2c8e95d |
关闭
哈希值用于mutf8-1.0.6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fcf20045263ce8ebd6c47e94c9477ab0d388ed169a69ad2d8f19bcbf0b87f401 |
|
MD5 | acfc25dac566d7324254ad2a71944ee7 |
|
BLAKE2b-256 | 1f4fa0fecea0020c194378c2ab4e8d26acfbad9c177c1947e62adb63f1b02de4 |
关闭
哈希值用于mutf8-1.0.6-cp36-cp36m-macosx_10_14_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 74ae69cd9790fa4f0f6a7b0db503c459c955b8235551baf683cb4f3f31677063 |
|
MD5 | 341b28ca1b5c041e5be438bf300fbc5c |
|
BLAKE2b-256 | 1d35a974f7150411b1597e49bbfa2361afa0a69b776b02e4514c2b8fb663178c |