汉字编码研究系列第二期,PHP基础解读ASCII码对照表与字符转换,讨论ASCII码对照表图以及字符转换为十进制、八进制、十六进制和HTML的方式
1.通用ASCII码对照表
图解ASCII码对照表,以字符A为例
Dec表示十进制,如65
Hx表示十六进制,如41
Char表示显示字符,如A
ASCII码对照表分为两个单元
1、控制字符0-31和127
2、可显示32-126个字符
(1)48-57是0-9的十个阿拉伯数字;
(2)65-90为26个小写英文字母;
(3)数字97-122为26个大写英文字母;
(四)其他标点符号、算术符号等;
二、ASCII完整对照表
三、PHP字符转换函数说明
具体字符转换函数说明请参考【PHP函数解读十进制、二进制、八进制、十六进制转换函数说明】
十进制转二进制 decbin() 函数
十进制转八进制 decoct() 函数
十进制转十六进制 decex() 函数
二进制转十六进制 bin2hex() 函数
二进制转十进制到bindec()函数
八进制转十进制 octdec() 函数
十六进制转十进制 hexdec() 函数
任何基数转换 base_convert() 函数
字符转换示例
例1、如何将字符转换为二进制、八进制或十六进制,可以使用ord()函数先将字符转换为ASCII值,然后使用对应的十六进制转换函数进行转换,如下
a 该字符转换为其补码/八进制/十六进制如下
字符的小数:ord('a'); //输出97
二进制:decbin(ord('a')); //输出1100001
八进制: decot(ord('a')); //输出141
十六进制:dechex(ord('a')); //输出61
然后将各补码的输出结果与内部的ASCII码对照表进行匹配即可验证。
例2、如何将二进制转换为十六进制或十进制,比如a的二进制php字符编码,如下
使用例1的方法获取字符a的二进制
decbin(ord('a'));
然后将二进制转换为十六进制或十进制
十六进制:bin2hex(decbin(ord('a')));//输出31313030303031
二进制 J:bindec(decbin(ord('a'))); //输出97
ord函数很常用,一定要记住。
发表评论