关于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 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
Apr 09 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
php中JSON的使用方法
Apr 30 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
初识ThinkPHP控制器
Apr 07 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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与C#的值类型指向区别的详解
2013/05/21 PHP
php数组去重实例及分析
2013/11/26 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
php截取视频指定帧为图片
2016/05/16 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
js实现简单的验证码
2015/12/25 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
简单谈谈python中的Queue与多进程
2016/08/25 Python
Python实现进程同步和通信的方法
2018/01/02 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
is_file和file_exists效率比较
2021/03/14 PHP
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
简历自我评价模板
2015/03/11 职场文书
公司市场部岗位职责
2015/04/15 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
Java完整实现记事本代码
2022/06/16 Java/Android