PHP详解ASCII码对照表与字符转换

yipeiwu_com5年前PHP代码库
一,通用的ASCII码对照表


图解ASCII码对照表图,以字符A为例
Dec表示十进制,如65
Hx表示十六进制,如41
Oct表示八进制,如101
Char表示显示字符,如A

ASCII码对照表图分为两个单元
1,控制字符 0-31和127
2,可显示字符 32-126
(1)48~57为0到9十个阿拉伯数字;
(2)65~90为26个大写英文字母;
(3)97~122号为26个小写英文字母;
(4)其它标点符号、运算符号等;

二,ASCII扩展码对照表


 

三,PHP字符转换函数说明

具体字符转换函数说明请参考[PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明]
十进制转二进制 decbin() 函数
十进制转八进制 decoct() 函数
十进制转十六进制 dechex() 函数
二进制转十六制进 bin2hex() 函数
二进制转十制进 bindec() 函数
八进制转十进制 octdec() 函数
十六进制转十进制 hexdec()函数
任意进制转换 base_convert() 函数

字符转换实例
实例一,如何把一个字符转换为二进制、八进制或十六进制,可以使用ord()函数先把字符转换为ASCII值,然后使用相应的进制转换函数进行转换,如下
a 这个字符转换为其二进制/八进制/十六进制,如下
a字符的十进制:ord('a'); //输出97
二进制:decbin(ord('a')); //输出1100001
八进制:decoct(ord('a')); //输出141
十六进制:dechex(ord('a')); //输出61

然后可以通过把各进制输出的结果对应上面ASCII码对照表图进行核对。

实例二,如何把一个二进制转换为十六进制或十进制,如a的二进制,如下
采用实例一的方法获取a字符的二进制
decbin(ord('a'));
然后把二进制转换为十六进制或十进制
十六进制:bin2hex(decbin(ord('a')));//输出31313030303031
二进制J:bindec(decbin(ord('a'))); //输出97

上面讨论的ord()函数,将在下一期中文字符编码研究系列中详细讨论。

四,参考资料
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
asciitable对照表图
 
维基百科ASCII 
百度百科ASCII

相关文章

php一句话cmdshell新型 (非一句话木马)

php一句话cmdshell新型 (非一句话木马)

复制代码 代码如下:<?php /*一个新型的php一句话cmdshell(非一句话木马) //原理:php运行时如果遇见字符``(键盘上~符号的下档键)总会尝试着执行``里面包含...

全面解读PHP的Yii框架中的日志功能

Yii页面级日志开启 在 Main.php中 log段添加、 下面显示页面日志 array( 'class'=>'CWebLogRoute', 'levels'=>'tra...

php动态生成版权所有信息的方法

本文实例讲述了php动态生成版权所有信息的方法。分享给大家供大家参考。具体实现方法如下: function copyright($start, $owner) { $date = d...

phpinfo无法显示的原因及解决办法

phpinfo无法显示的原因及解决办法

今天调试lnmp环境,出现如下报错。无法查询到php信息。 环境:linux版本CentOS Linux release 7.3.1611 (Core),nginx使用tengine。...

php 实现Hash表功能实例详解

php 实现Hash表功能 Hash表作为最重要的数据结构之一,也叫做散列表。使用PHP实现Hash表的功能。PHP可以模拟实现Hash表的增删改查。通过对key的映射到数组中的一个位置...