打印

UU编码简介

[复制链接]
2169|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xnwxq|  楼主 | 2009-8-23 18:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
UU编码算法将3字节二进制数据转换成4字节可打印的ASCII字符集。因为Hex格式是将1字节二进制数据转换成2字节ASCII数据,所以UU编码的效率高于Hex格式。

UU编码的编码
因为3字节二进制数据共24Bits,把它们按6Bits分成4份,这样就变成了4个字节,再把新生成的4个字节每个都加上0x20,若这样处理后的数值为0x20,则用0x60取代。用C语言表示的UU编码过程如下:
#define ENCODE_BYTE(b) (((b) == 0) ? 0x60 : ((b) + 0x20))
outbuf [0] = ENCODE_BYTE ((inbytep [0] & 0xFC) >> 2);
outbuf [1] = ENCODE_BYTE (((inbytep [0] & 0x03) << 4) +
((inbytep [1] & 0xF0) >> 4));
outbuf [2] = ENCODE_BYTE (((inbytep [1] & 0x0F) << 2) +
((inbytep [2] & 0xC0) >> 6));
outbuf [3] = ENCODE_BYTE (inbytep [2] & 0x3F);
若原数据字节数不是3的倍数,则以0x00填充。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我们都是风雨中的孩子,手牵着手才不会跌倒

162

主题

294

帖子

1

粉丝