关于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设计模式 注册表模式(多个类的注册)
Feb 05 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
php的hash算法介绍
Feb 13 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 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
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
python 链接和操作 memcache方法
2017/03/04 Python
Python模拟三级菜单效果
2017/09/11 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
实例讲解Python3中abs()函数
2019/02/19 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
群众路线领导班子整改方案
2014/10/25 职场文书
安全责任书
2015/01/29 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
Python基础之元类详解
2021/04/29 Python
解读Vue组件注册方式
2021/05/15 Vue.js
openstack中的rpc远程调用的方法
2021/07/09 Python