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


Posted in PHP onNovember 03, 2016

转换函数

/**
 * [字符串转换为(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 相关文章推荐
PHP网站基础优化方法小结
Sep 29 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
推荐25款php中非常有用的类库
Sep 29 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
PHP6新特性分析
Mar 03 PHP
php 魔术常量详解及实例代码
Dec 04 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
关于laravel 子查询 & join的使用
Oct 16 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 #PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 #PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 #PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 #PHP
PHP 微信扫码支付源代码(推荐)
Nov 03 #PHP
php使用正则表达式去掉html中的注释方法
Nov 03 #PHP
使用正则去除php代码中的注释方法
Nov 03 #PHP
You might like
编译问题
2006/10/09 PHP
php中的数组操作函数整理
2008/08/18 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
奇妙的js
2007/09/24 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
js函数调用的方式
2014/05/06 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
python Crypto模块的安装与使用方法
2017/12/21 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Python检查ping终端的方法
2019/01/26 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
python3字符串输出常见面试题总结
2020/12/01 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
应届毕业生简历自我评价
2014/01/31 职场文书
公司副总经理任命书
2014/06/05 职场文书
应届大专生自荐书
2014/06/16 职场文书
小学综合实践活动总结
2014/07/07 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js