欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

此函数是PHP中哪方面的学问,其功能是何

程序员文章站 2022-06-12 13:51:48
...
此函数是PHP中哪方面的知识,其功能是何?
洒家偶遇如下一函数,从未接触过。
第一,是PHP中哪方面的知识?文件处理吗?还是二进制?
第二,请从头到末注解一番。为何要用过00XX,内存码。
function js_unescape($str)    
{
$ret = '';
$len = strlen($str);
for ($i = 0; $i {
if ($str[$i] == '%' && $str[$i+1] == 'u')
{
$val = hexdec(substr($str, $i+2, 4));
if ($val else if($val >6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%')
{
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}

------解决方案--------------------
解码,算是php版的unescape(js)
js中escape方法返回一个包含了charstring内容的字符串值(Unicode格式)所有空格、标点、重音符号以
及其他非ASCII字符都用%xx编码代替,其中xx等于表示该字符的十六进制数。例如,空格返回的是"%20"
字符值大于255的以%uxxxx格式存储。

大于0x7f是汉字,高位为1,按位操作,最核心操作就是对汉字解码
0x800我也没看懂,及向右平移6位与或非就出来个东西,是得专门想想啊,谁能给详解一个汉字的编码操作啊

------解决方案--------------------
本帖最后由 xuzuning 于 2012-10-24 11:05:13 编辑 中
ucs-2
4e2d
01001110 00101101

utf-8
e4b8ad
11100100 10111000 10101101


to franzhong
既然你知道大于0x7f是汉字,那么怎就不知道小于0x800的就不是汉字
此函数是PHP中哪方面的学问,其功能是何

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 此函数是PHP中哪方面的学问,其功能是何
  • 专题推荐