关于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 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
PHP目录操作实例总结
Sep 27 PHP
PHP关键特性之命名空间实例详解
May 06 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
PHP脚本的10个技巧(5)
2006/10/09 PHP
php 判断数组是几维数组
2013/03/20 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
js右键菜单效果代码
2007/07/21 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
python验证身份证信息实例代码
2019/05/06 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
2015年幼儿园学期工作总结
2015/05/22 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL