美文网首页PHP实战
php处理GSM 短信中的7bit压缩传输解码

php处理GSM 短信中的7bit压缩传输解码

作者: macon快跑 | 来源:发表于2017-06-18 20:03 被阅读0次

在现在的项目中,需要用php去解码7bit的传输编码, 本来想从网上找个现成的直接用, 没找到, 参考了大神的C++解码方法, 换成了php的. 需要的请拿走.

//GSM 短信中的7bit压缩传输解码
private  function decode_7bit($str){
    if(strlen($str) < 2) return false;
    $str_src = str_split($str,2); //以两个字符为单位分割
    $str_build = ""; //最终输出的字符串
    $str_cu = "";   //当前循环应该处理的字符串
    $str_la = "";   //上一个循环中遗留的字符串(补位的字符串给还回去)
    $key_move = 1;  //偏移量 取值范围(1-7)
    foreach($str_src as $item){
        $item = base_convert($item,16,2); //16进制转2进制
        $pre = ""; //补0位
        if(strlen($item) < 8){  //未满8位的 前面补0 补够8位
            for($i=0;$i<(8-strlen($item));$i++){
                $pre .= "0";
            }
        }
        $item = $pre . $item; //拼接完成满8位的二进制串
        $str_cu = substr($item,$key_move); //截取当前计算位
        if($str_la != "") $str_cu .= $str_la;
        $str_la = substr($item,0,$key_move); //截取遗留位
        $str_cu = "0".$str_cu; //前面补0 ,7位补8位 不是必须的
        $str_build .= chr(base_convert($str_cu,2,10));

        if(strlen($str_la) == 7){
            $str_build .=  chr(base_convert("0".$str_la,2,10));
            $str_la = "";   //遗留位清空
            $key_move = 1;  //偏移量归1
        }else{
            $key_move++;
        }
    }
    return $str_build;
}

直接把你的7bit编码传进去就好了. 欢迎留言讨论.~

相关文章

  • php处理GSM 短信中的7bit压缩传输解码

    在现在的项目中,需要用php去解码7bit的传输编码, 本来想从网上找个现成的直接用, 没找到, 参考了大神的C+...

  • Linux命令_打包解压命令

    现在人们更加倾向于传输压缩格式的文件,压缩文件体积小,传输速度快,时间短。常见的压缩或者解压的命令都是基于tar命...

  • Fresco源码分析-图片解码

    图片编解码 在看Fresco对图片解码处理之前,先大致了解一下什么是图片与图片编解码。 图片编码与压缩 图像编码与...

  • swift 视频编码

    视频采集完成后,需要先编码,再传输,在解码,再播放(重现) 1 视频压缩 第一: 创建VTCompressionS...

  • Android性能优化-网络数据传输

    Minimizing Asset Payload 为了能够减小网络传输的数据量,我们需要对传输的数据做压缩的处理,...

  • PHP 实现文件压缩解压zip格式

    在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我...

  • 华为OD机试,压缩报文还原

    ?题目描述 为了提升数据传输的效率,会对传输的报文进行压缩处理。 输入一个压缩后的报文,请返回它解压后的原始报文。...

  • 视频直播初探

    视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染采集: iOS系统因为软硬件种类不多, 硬件...

  • http压缩传输方案

    由于页面加载速度比较慢,所以想尝试下php的压缩传输方式,鼓捣了一段时间,中间还把php集成环境搞挂了,索性数据库...

  • PHP 图像处理与压缩

    PHP图像处理虽然不比其他语言性能高,但应付日常来说业务来说是够用的。本类大部分是自己编写其他则参考来自PHP手册...

网友评论

    本文标题:php处理GSM 短信中的7bit压缩传输解码

    本文链接:https://www.haomeiwen.com/subject/yakwqxtx.html