zoukankan      html  css  js  c++  java
  • php字符串压缩

    在PHP中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:

    压缩函数:gzcompress gzdeflate gzencode

    与之对应的解压函数如下:

    解压函数:gzuncompress gzinflate gzdecode

    特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。

    gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同:

    gzcompress使用的是ZLIB格式;

    gzdeflate使用的是纯粹的DEFLATE格式;

    gzencode使用的是GZIP格式;

    用一段代码测试一下看看

    <?php
    $test_string="123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789";
    var_dump($test_string);//原字符串长度
    
    var_dump(gzcompress($test_string));//gzcompress压缩后
    var_dump(gzdeflate($test_string));//gzdeflate压缩后
    var_dump(gzencode($test_string));//gzencode压缩后
    
    var_dump(gzuncompress(gzcompress($test_string)));//gzcompress压缩后再解压缩回来
    var_dump(gzinflate(gzdeflate($test_string)));//gzdeflate压缩后再解压缩回来
    var_dump(gzdecode(gzencode($test_string)));//gzencode压缩后再解压缩回来

    运行结果:

  • 相关阅读:
    Luogu P4053 [JSOI2007]建筑抢修
    CF894E Ralph and Mushrooms
    Boruvka
    Codeforces Beta Round #25 (Div. 2 Only) C. Roads in Berland
    HDU 3714/UVA1476 Error Curves
    HDU 5410 CRB and His Birthday
    HDU 1796 How many integers can you find
    UVA 11624 Fire!
    POJ 3279 Dungeon Master
    POJ 1321 棋盘问题
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/6289824.html
Copyright © 2011-2022 走看看