@Craig 的注释:base64_encode() 更适合这种情况。事实上,它产生的输出更小,运行速度也略快。我做了一个简单的基准测试——以下是我的发现
文件:JPG,631614 字节
== Base64 ==
执行时间:0.0039639472961426 秒
输出长度:842152
== UUencode ==
执行时间:0.004105806350708 秒
输出长度:870226
(PHP 5, PHP 7, PHP 8)
convert_uuencode — 对字符串进行 UU编码
convert_uuencode() 使用 uuencode 算法对字符串进行编码。
Uuencode 将所有字符串(包括二进制数据)转换为可打印字符,使它们可以安全地进行网络传输。UU编码后的数据大约比原始数据大 35%。
注意: convert_uuencode() 既不生成
begin
行也不生成end
行,这两行是 uuencoded 文件的一部分。
字符串
要编码的数据。
返回 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
== UUencode ==
执行时间:0.004105806350708 秒
输出长度:870226
请注意,使用 base64 或 uuencode 将数据存储到数据库中是毫无意义的。如果您正确地转义数据并使用二进制字段(BLOB 等),则没有任何问题。