orl*_*rlp 9 python base85 python-3.4
Python 3.4添加了a85encode和b85encode函数(及其相应的解码函数).
两者有什么区别?该文档提到"它们因用于编码的字符映射等细节而不同".,但这似乎不必要地含糊不清.
a85encode 使用字符映射:
!"#$%&'()*+,-./0123456789:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstu
Run Code Online (Sandbox Code Playgroud)
与z作为一种特殊情况,以表示四个零字节(而不是!!!!!).
b85encode 使用字符映射:
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
!#$%&()*+-;<=>?@^_`{|}~
Run Code Online (Sandbox Code Playgroud)
没有特殊的缩写.
如果您有选择,我建议您使用a85encode.它实现起来更容易(也更有效)C,因为它的字符映射使用ASCII顺序中的所有字符,并且在存储包含大量零的数据时效率稍高,这对于未压缩的二进制数据来说并不罕见.
ASCII85是前身Base85 ; 两者之间的主要区别实际上是使用的字符集.
Ascii85 使用字符集:
ASCII 33 ("!") to ASCII 117 ("u")
Run Code Online (Sandbox Code Playgroud)
Base85 使用字符集:
0–9, A–Z, a–z, !#$%&()*+-;<=>?@^_`{|}~
Run Code Online (Sandbox Code Playgroud)
这些字符特别不包含在Base85中:
"',./:[]\\
Run Code Online (Sandbox Code Playgroud)
a85encode和b85encode分别编码/解码Ascii85和Base85.
| 归档时间: |
|
| 查看次数: |
955 次 |
| 最近记录: |