Base85
btoa
最知名的一种是 btoa,这是最早的二进制转文本编码,Base64 都是小兄弟。
以下简称 A85。
字符表: 从 ASCII 33 - 117 (21 - 75)
就是 100 个可打印字符排除 6 个空字符(都小于 33),以及 118 - 127 的 vwxyz{|}~
RFC1924
见于一个提议采用 Base85 方案表述 IPv6 的信息提案 RFC1924: A Compact Representation of IPv6 Addresses
以下简称 B85。
字符表: 数字 + 字母(大小写敏感)+ 23 个标点
!#$%&()*+-;<=>?@^_`{|}~
PS: Python 的 base64.a85encode
和 base64.b85encode
就分别对应上面的两种方案。
Z85
还看到了 ZeroMQ 的 Z85 方案,字母表和 B85 相同,不过顺序有点差异:
0 - 9: 0 1 2 3 4 5 6 7 8 9
10 - 19: a b c d e f g h i j
20 - 29: k l m n o p q r s t
30 - 39: u v w x y z A B C D
40 - 49: E F G H I J K L M N
50 - 59: O P Q R S T U V W X
60 - 69: Y Z . - : + = ^ ! /
70 - 79: * ? & < > ( ) [ ] {
80 - 84: } @ % $ #
Adobe
他们起了个名字,叫 Ascii85。