关于PHP中字符串与多进制转换函数的实例代码

5年以前  |  阅读数:377 次  |  编程语言:PHP 

转换函数


    /**
     * [字符串转换为(2,8,16进制)ASCII码]
     * @param string $str   [待处理字符串]
     * @param boolean $encode [字符串转换为ASCII|ASCII转换为字符串]
     * @param string $intType [2,8,16进制标示]
     * @return string byte_str [处理结果]
     * @author alexander
     */
    function strtoascii($str, $encode=true, $intType="2"){
      if($encode == true){
        $byte_array = str_split($str);
        foreach($byte_array as &$value){
          $value = ord($value);
          switch ($intType) {
            case 16:
              $value = sprintf("%02x", $value);
              break;
            case 8:
              $value = sprintf("%03o", $value);
              break;
            default:
              $value = sprintf("%08b", $value);
              break;
          }
        }
        unset($value);
        $byte_str = implode('', $byte_array);
      }
      else{
        $chunk_size = $intType == 16 ? 2 : ($intType == 8 ? 3 : 8);
        $byte_array = chunk_split($str, $chunk_size);
        $byte_array = array_filter(explode("\r\n", $byte_array));
        foreach($byte_array as &$value){
          $fun_name = $intType == 16 ? 'hexdec' : ($intType == 8 ? 'octdec' : 'bindec');
          $value = $fun_name($value);
          $value = chr($value);
        }
        unset($value);
        $byte_str = implode('', $byte_array);
      }
      return $byte_str;
    }

PHP中的多进制

PHP 整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。

二进制:[+-]?0b[01]+

八进制:[+-]?0[1-7]+

十进制:[+-]?[1-9][0-9]*|0

十六进制:[+-]?[xX][0-9a-fA-F]+

多进制转换函数:

bindec 二进制转换为十进制

decbin 十进制转换为二进制

octdec 八进制转换为十进制

decoct 十进制转换为八进制

hexdec 十六进制转换为十进制

dechex 十进制转换为十六进制

以上就是小编为大家带来的关于PHP中字符串与多进制转换函数的实例代码全部内容了,希望大家多多支持脚本之家~

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例