[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
BASE64 字节位的利用率是 6/8 = 75%, 需要用比原始信息多出 1 / (6/8) - 1 = 1/3 (编码增长率 33%) 的字节数才能完整表达
BASE64 编码增长率 33%

设想:

如果将 BASE64 进一步发展, 将字节位的利用率提高到 7/8 , 只需要用比原始信息多出 1 / (7/8) - 1 = 1/7 的字节数就能完整表达
BASE128 编码增长率 14%

BASE128 如果可行, 将字节位的利用率提高到 7/8, 但需要用到 128 个可打印字符

ASCII 字符中二进制最高位为 0 的字符是 0x0 ~ 0x7F, 只有 128 个, 但其中还有若干控制字符, 所以不够用, 而 0x80 ~ 0xFF 的最高二进制位都是 1 , 将会与多字节文本编码冲突

------------------------------  BASE128 不可行 ------------------------------


Ascii85 可以将编码增长率降到 25%
https://en.wikipedia.org/wiki/Ascii85


basE91 encoding 可以将编码增长率降到 23%
http://base91.sourceforge.net/
1

评分人数

TOP

回复 32# codegay


我用 basE91 中非字母非数字的 29 个字符
  1. !#$%&()*+,./:;<=>?@[]^_`{|}~"
复制代码
输入到 QR CODE 生成器(批处理方式)中, 正确生成了 二维码, 扫描还原结果正确
http://bbs.bathome.net/viewthrea ... p;extra=&page=1

TOP

返回列表