代码之家  ›  专栏  ›  技术社区  ›  Andrei Serdeliuc ॐ

压缩一个字符串,最终结果没有换行符?

  •  2
  • Andrei Serdeliuc ॐ  · 技术社区  · 15 年前

    我尝试了gzcompress,但随后将结果复制/粘贴到另一个php脚本中,并尝试gzuncompress抛出“警告:gzuncompress():数据错误”

    是否有任何本机php函数压缩字符串,结果是没有任何换行符的字符串?

    谢谢。

    3 回复  |  直到 15 年前
        1
  •  5
  •   Dan Breen    15 年前

    您可以尝试base64_编码/base64_解码。如果您要压缩为二进制进行剪切和粘贴,我建议您首先对其进行base64编码。

        2
  •  2
  •   Adrien Plisson    15 年前

    压缩后可以转义换行符:对字符串运行gzcompress(),在压缩结果中用已知的2个字符对替换换行符。要解压缩,请用换行符替换已知的2个字符对,然后运行gzuncompress()。。。

    实际上,您需要执行两次更换。因为我不能用英语(不是我的母语)表达这一点,这里有一个例子:使用“+n”来避免换行。您首先需要避开每个独立的“+”,因为如果后面跟一个“n”,则在解压缩时会意外地被换行符替换;让我们选择“++”来转义“+”。然后将换行符替换为“+n”。解压缩时,用换行符替换每个“+n”对,然后用“+”替换每个“++”对。就这样!

        3
  •  1
  •   Tim Palak Chaudhary    15 年前

    推荐文章