Escape是js 脚本的一种加密字符串的方式.具体详情可以参见http://www.w3school.com.cn/js/jsref_unescape.asp

有的网站会将中文字进行Escape编码,然后在显示时用unescape再进行转换.比如有这么一段代码

广州公交查询-由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线

这个是经过Escape编码的.我们需要在PHP中将其解密.在网上搜索后,得到加密和解密代码.

function unescape($str) { //这个是解密用的

$str = rawurldecode($str);

preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r);

$ar = $r[0];

foreach($ar as $k=>$v) {

if(substr($v,0,2) == "%u")

$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));

elseif(substr($v,0,3) == "")

$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));

elseif(substr($v,0,2) == "") {

$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));

}

}

return join("",$ar);

}

function phpescape($str){//这个是加密用的

preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$newstr);

$ar = $newstr[0];

foreach($ar as $k=>$v){

if(ord($ar[$k])>=127){

$tmpString=bin2hex(iconv("GBK","ucs-2",$v));

if (!eregi("WIN",PHP_OS)){

$tmpString = substr($tmpString,2,2).substr($tmpString,0,2);

}

$reString.="%u".$tmpString;

} else {

$reString.= rawurlencode($v);

}

}

return $reString;

}

?>

我们测试一下

echo unescape("由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线");

可以得到 由金泽大厦到百征科技大厦的乘车路线

escape php解码,PHP对escape的字符串进行解密 、加密 | 学步园相关推荐

  1. java gsoap_gsoap c与java web之间传输字符串中文乱码问题 | 学步园

    中文乱码,也就是编码问题不一致,我们也不深究用什么soap_set_mode用SOAP_C_MBSTRING还是SOAP_C_UTFSTRING 只需要我们对字符进行转码成一个统一规范就可以正常显示了 ...

  2. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  3. mysql 二进制转字符串_MySql字符转义 | 学步园

    在字符串中,某些序列具有特殊含义.这些序列均用反斜线('\')开始,即所谓的转义字符.MySQL识别下面的转义序列: \0 ASCII 0(NUL)字符. \' 单引号('''). \" 双 ...

  4. python求字符串的所有子集_打印一字符串的所有子集 | 学步园

    #include #include #include #include using namespace std; void getSub(string src,int i,vector &re ...

  5. python 取字符串的最后一位_python中获得一个字符串最后出现位置 | 学步园

    def lastpos(findstr,mystr): #gp.AddMessage("查询=======:"+findstr+","+mystr) num=l ...

  6. js编码、解码方法(escape,encodeURI,encodeURIComponent区别及用法)

    前言: js解码.编码问题问题 一. 定义和用法 1.escape() 定义和用法: escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 该方法不会对 ASCII 字母 ...

  7. android中使用jni对字符串加解密实现分析

    android中使用jni对字符串加解密实现分析 近期项目有个需求.就是要对用户的敏感信息进行加密处理,比方用户的账户password,手机号等私密信息.在java中,就对字符串的加解密我们能够使用A ...

  8. 微课|中学生可以这样学Python(例5.10):字符串编码与加密

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章  Python序列及应用 5.5.6  精彩例题分析与解答 例5-10  使用字符串编码实 ...

  9. VB AES 字符串和文件加密

    此代码在源码天空等多个源码站点上可以下载本人仅做了简单的修改总结为4个函数进行调用 1.EncryptStr/加密字符串 2.DecryptStr/解密字符串 3.EncryptFile/加密文件 4 ...

最新文章

  1. 为加密的NTFS分区制作一把备份密钥
  2. php lodop 实例,Vue使用lodop实现打印小结
  3. 斯坦福助理教授马腾宇:ML非凸优化很难,如何破?
  4. 树莓派AI视觉云台——1.树莓派Pi3简介
  5. CQYZOJ P1392 拔河问题
  6. JavaScript的检测及其数据类型
  7. android 通知传值,Android消息通知(notification)和PendingIntent传值
  8. Mac平台上的一个MarkDown编辑器和静态博客生成工具-mweb mac最新版下载
  9. 网络编程之-----------进程
  10. 类的反射实例(servlet的抽取)
  11. 为什么修改配置文件要重启server
  12. hibernate 基本步骤 一
  13. GNS3 VM 的安装使用和路由器的添加
  14. Word转pdf方法小结
  15. 华硕win10键盘失灵_华硕键盘失灵一键修复的方法_win10华硕快捷键失灵的解决方法...
  16. 台式计算机如何定时关机,台式电脑如何设置每天定时关机
  17. keyshot渲染玻璃打光_KeyShot渲染,打光这么打,效果倍儿棒!
  18. CentOS7安装 SGE
  19. r语言做断轴_手把手教你用R语言做回归后的残差分析
  20. Android集成bilibili播放器以及弹幕

热门文章

  1. Python-面向对象 (二 继承)
  2. rhel6   openldap
  3. 果园机器人能干什么_24* 果园机器人优秀教学实录
  4. mysql yearweek 日期不准_Mysql 中,WEEK 与YEARWEEK函数的参数问题
  5. python 亮度一致_Python玩转各种多媒体,视频、音频到图片
  6. mysql 语音_MySQL 在各种程序语音的连接字符串(转)
  7. linux hadoop etc目录,题目Linux平台下Hadoop的安装配置
  8. linux意外重启分析,Linux关机重启流程分析
  9. 课工场java新手基础教程_Java新手学习路线,学Java不走弯路
  10. 清理svn信息_推荐候选人有奖啦~11.26最新招聘信息看这里!