escape 方法

对 String 对象编码以便它们能在所有计算机上可读,

escape(charString)

必选项 charstring 参数是要编码的任意 String 对象或文字。

说明 :

escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、

标点、重音符号以 及 其他非 ASCII字符都用 %xx 编码代替,其中 xx 等于表示该字符的十

六进制数。例如,空格返回的是"%20 " 。 字符值大于 255 的以 %uxxxx 格式存储。

注意 :escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用

encodeURI和encodeURIComponent 方法。

2.unescape 方法

解码用 escape 方法进行了编码的 String 对象。

unescape(charstring)

必选项 charstring 参数是要解码的 String 对象。

说明 :

unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码

的字符都用 ASCII 字符集中等价的字符代替。 以 %uxxxx 格式(Unicode 字符)编码的字

符用十六进制编码 xxxx 的 Unicode 字符代替.

注意 : unescape 方法不能用于解码统一资源标识码 (URI)。解该码可使用 decodeURI 和

decodeURIComponent 方法

AJAX使用GET请求时传递中文字符串时也必须把中文字符串编码成unicode,一般会用到JS的自

带函数escape().不过找到了更好的函数来确决中文字符转换成unicode编码的函数如下

function uniencode(text)

{

text = escape(text.toString()).replace(/+/g, "%2B");

var matches = text.match(/(%([0-9A-F]{2}))/gi);

if (matches)

{

for (var matchid = 0; matchid < matches.length; matchid++)

{

var code = matches[matchid].substring(1,3);

if (parseInt(code, 16) >= 128)

{

text = text.replace(matches[matchid], '%u00' + code);

}

}

}

text = text.replace('%25', '%u0025');

return text;

}

当然服务器端要对编码过的字符串进行第二次转码.把字符串转换成UTF-8编码.

复制代码 代码如下:

function convert_int_to_utf8($intval)

{

$intval = intval($intval);

switch ($intval)

{

// 1 byte, 7 bits

case 0:

return chr(0);

case ($intval & 0x7F):

return chr($intval);

// 2 bytes, 11 bits

case ($intval & 0x7FF):

return chr(0xC0 | (($intval >> 6) & 0x1F)) .

chr(0x80 | ($intval & 0x3F));

// 3 bytes, 16 bits

case ($intval & 0xFFFF):

return chr(0xE0 | (($intval >> 12) & 0x0F)) .

chr(0x80 | (($intval >> 6) & 0x3F)) .

chr (0x80 | ($intval & 0x3F));

// 4 bytes, 21 bits

case ($intval & 0x1FFFFF):

return chr(0xF0 | ($intval >> 18)) .

chr(0x80 | (($intval >> 12) & 0x3F)) .

chr(0x80 | (($intval >> 6) & 0x3F)) .

chr(0x80 | ($intval & 0x3F));

}

}

js符号转码_js 字符串编码转换函数相关推荐

  1. js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...

    转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码,也不会对 ...

  2. linux字符串编码转换函数,Linux C++ 字符串 编码识别、编码转换

    最近在做一个类似垂直下载的爬虫系统.下载之后有个解析模块,解析之后要求编码一致的向后传入索引,便遇到了编码转换问题. 1. 编码的识别 推荐使用 libchardet, 可以在这个页面下载,使用说明就 ...

  3. js符号转码_js传特殊字符到controller (java)的转码问题

    原标题:js传特殊字符到controller (java)的转码问题 1.一串特殊字符 \\&\\,\_)(*&^)\,\\.\\+_} 2.ajax请求 $.ajax({ url: ...

  4. 站长在线Python精讲:Python中字符串编码转换encode编码和decode解码详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中字符串编码转换:encode编码和decode解码详解>.本知识点主要内容有:常用编码简介.使用encode( ...

  5. 分享万能java字符串编码转换工具类

    代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima ...

  6. java万能编码转换_分享万能java字符串编码转换工具类

    package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public cla ...

  7. chrome字符串编码转换

    chrome字符串编码转换 字符串编码转换涉及宽字节表示法与UTF-8表示法之间的转换.宽字节表示法与UTF-16表示法之间的转换.UTF-8表示法与UTF-16表示法之间的转换.UTF-16表示法于 ...

  8. c语言数字转化为字母表,c语言字符串 数字转换函数大全

    转载:c语言字符串 数字转换函数大全 字符串数字转换到底什么意思呢: 字符串和数字的编码不一样,字符串是按照国际标准ASCII码表进行编码,每个数字都是一个8位的ASCII码(也就是一个字节大小):而 ...

  9. php字符集编码转换,php编码转换_php编码转换函数

    摘要 腾兴网为您分享:php编码转换函数,云端学习,鱼乐贝贝,优品多多,一路捞等软件知识,以及天地图厦门,快剪辑app,java学习手册,酷狗2010,王者荣耀点券软件,xmart,有声小说软件,mp ...

最新文章

  1. php.ini centos,CentOS下修改php.ini后不生效的方法
  2. [工具]-脚本自动化工具:按照linux kernel标准格式化输出文件(format_file)
  3. 【例子】外键约束的创建及例子
  4. JAVA 文件锁 FileLock
  5. 聚类算法之DBScan(Java实现)[转]
  6. (只需挨个复制粘贴命令即可部署)在Centos7下搭建文件服务器(VSFTPD)
  7. android layer阴影,Android Layer-List实现自定义Shape阴影
  8. Linux下MySQL5.6的修改字符集编码为UTF8
  9. 左手手机右手智慧屏 华为9月要搞大事情
  10. thymeleaf常用语法
  11. wifi定位算法 java_几种室内定位技术方案对比,室内定位种类的优缺点一目了然...
  12. 计算两个日期相差天数的最简洁的代码
  13. spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。
  14. ios app 提交评审注意事项
  15. 暗月渗透实战靶场-项目八(上)
  16. 对于PS选区的初步认识
  17. 《安富莱嵌入式周报》第280期:支持在线仿真编程的网页版电子开发,CAN总线防攻击实现,BigFAT 规范打破了 FAT 每个文件 4GB 的限制
  18. Java导出Word(导出图片,类,List)
  19. UE4中三维几何总结——几何学基础
  20. Seq2Seq模型中的序列解码策略

热门文章

  1. 启发式搜索: A*算法
  2. vscode中setting.json配置详解
  3. 接口测试神器,它来了,它带着光环走来了
  4. 微信公众号外部登录与授权,保存登录信息问题记录
  5. 泰国证券交易所预计将在本月批准5个ICO项目
  6. 锐起无盘精华100问!(包括3.1,3.0版本)
  7. 外地人一年内直接落户上海
  8. Debian apache
  9. 安装 ubuntu16.04 ROS2 超过5分钟你打我 后带 测试talker listener demo
  10. STM32L0系列之【EEPROM读写】