关于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编程中八种常见的文件操作方式
Nov 19 PHP
php 无极分类(递归)实现代码
Jan 05 PHP
mysql下创建字段并设置主键的php代码
May 16 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
php curl模拟post请求小实例
Nov 13 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
php判断IP地址是否在多个IP段内
Aug 18 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 cc攻击代码与防范方法
2012/10/18 PHP
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
python中执行shell命令的几个方法小结
2014/09/18 Python
python相似模块用例
2016/03/04 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
基于Python的OCR实现示例
2020/04/03 Python
python破解同事的压缩包密码
2020/10/14 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
如何在存储过程中使用Loop
2016/01/05 面试题
房屋分割离婚协议书范本
2014/12/01 职场文书
计划生育个人总结
2015/03/02 职场文书
个人总结格式范文
2015/03/09 职场文书
警告通知
2015/04/25 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
Python中的嵌套循环详情
2022/03/23 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android