@Craig 的注释:base64_encode() 更适合这种情况。实际上,它产生更小的输出并且运行速度略快。我做了一些基准测试——以下是我的发现
文件:JPG,631614 字节
== Base64 ==
执行时间:0.0039639472961426 秒
输出长度:842152
== UU 编码 ==
执行时间:0.004105806350708 秒
输出长度:870226
(PHP 5, PHP 7, PHP 8)
convert_uuencode — 对字符串进行 UU 编码
convert_uuencode() 使用 UU 编码算法对字符串进行编码。
UU 编码将所有字符串(包括二进制数据)转换为可打印字符,使其安全地进行网络传输。UU 编码后的数据大约比原始数据大 35%。
注意: convert_uuencode() 既不生成
begin
也不生成end
行,它们是 UU 编码的文件的一部分。
string
要编码的数据。
返回 UU 编码后的数据。
版本 | 描述 |
---|---|
8.0.0 | 在此版本之前,尝试转换空字符串会返回 false ,没有特殊原因。 |
范例 #1 convert_uuencode() 范例
<?php
$some_string = "test\ntext text\r\n";
echo convert_uuencode($some_string);
?>
上面的例子将输出
0=&5S=`IT97AT('1E>'0-"@`` `
@Craig 的注释:base64_encode() 更适合这种情况。实际上,它产生更小的输出并且运行速度略快。我做了一些基准测试——以下是我的发现
文件:JPG,631614 字节
== Base64 ==
执行时间:0.0039639472961426 秒
输出长度:842152
== UU 编码 ==
执行时间:0.004105806350708 秒
输出长度:870226
请注意,使用 base64 或 UU 编码将数据存储在数据库中是毫无用处的。如果你正确地转义你的数据并使用二进制字段(BLOB 等),就没有问题。