关于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 相关文章推荐
文件上传的实现
Oct 09 PHP
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
基于php-fpm的配置详解
Jun 03 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
php 魔术方法详解
Nov 11 PHP
php根据生日计算年龄的方法
Jul 13 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
php微信开发之关键词回复功能
Jun 13 PHP
laravel Model 执行事务的实现
Oct 10 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
javascript自定义右键菜单插件
2019/12/16 Javascript
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
python3正则模块re的使用方法详解
2020/02/11 Python
python中的对数log函数表示及用法
2020/12/09 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
国际象棋商店:The Chess Store
2018/07/09 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
应届生新闻编辑求职信
2013/11/19 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
简单的辞职信范文
2014/01/18 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
校园广播站开场白
2015/06/01 职场文书
公司管理制度范本
2015/08/03 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技