普通应用()和CHR()在PHP函数文本函数

汉字编码研究系列第三,php(ORD)和主函数(CHR)功能的应用,基于PHP的{文本详细的ASCII码字符转换表和了解ASCII码的转换和字符,但是当用于字符转换之间找到两个特殊的功能,对于人物和十进制之间的转换(ORD)功能的字符转换为十进制数字,Chr()函数将十进制数转换成字符,二进制,八进制,十进制,十六进制作为角色之间的桥梁。

首先,普通()函数中的应用
ord()函数返回一个字符的ASCII值,最基本的用法,如访问一个ASCII ord(a)返回97,但在实际开发中,是应用最为广泛的高低中国十进制字符编码字符截取功能入手,如常见的汉字功能,具体的你可以看到PHPWind和Discuz!substrs论坛源代码(cutstr)函数(或函数),其原理是通过ord()函数获得的字符的ASCII值,如果返回值大于127,表示为半个汉字,然后到下半年结合成一个完整的特征,结合人物如编码GBK或UTF-8等。

以GBK码为例,奥德()函数是用来判断中国字符的ASCII值返回每个汉字。代码如下
复制代码代码如下所示:
不要迷恋哥哥。
strlen(字符串长度=美元美元);
var_dump($字符串); / /中国原创
var_dump($长度); / /长度
结果=数组();
($ i = 0;$ i $ $长度;$ + +){
如果(ORD($字符串{我})> 127){
结果;
}
}
var_dump($结果);

代码描述
1,定义一个变量$字符串,它的值是一个字符串。
2,获取变量(字节)的长度。
3,变量的长度和变量
4,变量的每个字节值都是通过for循环得到的,汉字的两个字节用空格隔开。
结果如下
图形:不要沉迷于5个汉字,总共有10个字节(一个汉字2字节),每一个字节的打印都不能正常显示为上面的图片。

更改代码的for循环部分以显示每个字节的ASCII值。
复制代码代码如下所示:
结果=数组();
($ i = 0;$ i $ $长度;$ + +){
如果(ORD($字符串{我})> 127){
结果{ } =美元ORD($字符串{我})。。奥德($字符串{ + + $我});
}
}
var_dump($结果);

上面的代码使用ord()函数来打印每个字符的ASCII值,结果如下
每个字符的ASCII值可以被视为正常的ORD转化后的()函数。

两个应用,Chr()函数

CHR()函数的功能是反对奥德()函数,以及用于返回指定的字符,如CHR(97),回到A.

在上面的例子中,只要得到的是中文字符的ASCII码值,汉字可以由染色体组合()函数。代码如下
复制代码代码如下所示:
不要迷恋哥哥。
strlen(字符串长度=美元美元);
var_dump($字符串); / /中国原创
var_dump($长度); / /长度
结果=数组();
($ i = 0;$ i $ $长度;$ + +){
如果(ORD($字符串{我})> 127){
结果{ } =美元ORD($字符串{我})。。奥德($字符串{ + + $我});
}
}
var_dump($结果);
foreach($结果达v){
$ DECS =爆炸(
Echo Chr($ DECS { 0 })。Chr($ DECS { 1 });
}

结果如下

在上面的代码不能直接打印输出汉字,但正常的汉字,其原理是先把每个字节的ASCII值,转换成字节,由Chr()函数,并结合两个字节组成一个完整的汉字。

基于ord()和CHR()函数讨论了汉字编码的原理有一个初步的了解,一个汉字GBK编码在两个字节,普通使用(CHR)和()函数实现的字节转换方法,请关注中国汉字编码研究系列字符编码转换原理的下一个阶段。

参考材料
PHPWind和Discuz截取字符函数substrs和cutstr性能比较