Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

162.2. Uuencode

[注意]注意

uuencode不是MIME标准

application/x-uuencode

Uuencode 是将二进制文件以文本文件方式进行编码表示、以利于基于文本传输环境中进行二进制文件的传输/交换的编码方法之一, 在邮件系统/二进制新闻组中使用频率比较高,经常用于附件二进制文件。

这种编码的特征是:每一行开头用“M”标志。

Uuencode的算法很简单,编码时它将3个字符顺序放入一个 24 位的缓冲区,缺字符的地方补零,然后将缓冲区截断成为 4 个部分,高位在先,每个部分 6 位,用下面的64个字符重新表示:



"`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_"

解码时它将4个字符分别转换为4个6位字符后,截取有用的后六位放入一个 24 位的缓冲区,即得3个二进制代码。

162.2.1. PHP uuencode

编码:convert_uuencode()

		
<?php
$some_string = "test\ntext text\r\n";
echo convert_uuencode($some_string);
?>
		
		

解码:convert_uuencode()

		
<?php
	$some_string = "This is an encoded string";
	$encode = convert_uuencode($some_string);
	echo convert_uudecode($encode);
?>