js符号转码_js 字符串编码转换函数
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 字符串编码转换函数相关推荐
- js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...
转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码,也不会对 ...
- linux字符串编码转换函数,Linux C++ 字符串 编码识别、编码转换
最近在做一个类似垂直下载的爬虫系统.下载之后有个解析模块,解析之后要求编码一致的向后传入索引,便遇到了编码转换问题. 1. 编码的识别 推荐使用 libchardet, 可以在这个页面下载,使用说明就 ...
- js符号转码_js传特殊字符到controller (java)的转码问题
原标题:js传特殊字符到controller (java)的转码问题 1.一串特殊字符 \\&\\,\_)(*&^)\,\\.\\+_} 2.ajax请求 $.ajax({ url: ...
- 站长在线Python精讲:Python中字符串编码转换encode编码和decode解码详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中字符串编码转换:encode编码和decode解码详解>.本知识点主要内容有:常用编码简介.使用encode( ...
- 分享万能java字符串编码转换工具类
代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima ...
- java万能编码转换_分享万能java字符串编码转换工具类
package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public cla ...
- chrome字符串编码转换
chrome字符串编码转换 字符串编码转换涉及宽字节表示法与UTF-8表示法之间的转换.宽字节表示法与UTF-16表示法之间的转换.UTF-8表示法与UTF-16表示法之间的转换.UTF-16表示法于 ...
- c语言数字转化为字母表,c语言字符串 数字转换函数大全
转载:c语言字符串 数字转换函数大全 字符串数字转换到底什么意思呢: 字符串和数字的编码不一样,字符串是按照国际标准ASCII码表进行编码,每个数字都是一个8位的ASCII码(也就是一个字节大小):而 ...
- php字符集编码转换,php编码转换_php编码转换函数
摘要 腾兴网为您分享:php编码转换函数,云端学习,鱼乐贝贝,优品多多,一路捞等软件知识,以及天地图厦门,快剪辑app,java学习手册,酷狗2010,王者荣耀点券软件,xmart,有声小说软件,mp ...
最新文章
- php.ini centos,CentOS下修改php.ini后不生效的方法
- [工具]-脚本自动化工具:按照linux kernel标准格式化输出文件(format_file)
- 【例子】外键约束的创建及例子
- JAVA 文件锁 FileLock
- 聚类算法之DBScan(Java实现)[转]
- (只需挨个复制粘贴命令即可部署)在Centos7下搭建文件服务器(VSFTPD)
- android layer阴影,Android Layer-List实现自定义Shape阴影
- Linux下MySQL5.6的修改字符集编码为UTF8
- 左手手机右手智慧屏 华为9月要搞大事情
- thymeleaf常用语法
- wifi定位算法 java_几种室内定位技术方案对比,室内定位种类的优缺点一目了然...
- 计算两个日期相差天数的最简洁的代码
- spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。
- ios app 提交评审注意事项
- 暗月渗透实战靶场-项目八(上)
- 对于PS选区的初步认识
- 《安富莱嵌入式周报》第280期:支持在线仿真编程的网页版电子开发,CAN总线防攻击实现,BigFAT 规范打破了 FAT 每个文件 4GB 的限制
- Java导出Word(导出图片,类,List)
- UE4中三维几何总结——几何学基础
- Seq2Seq模型中的序列解码策略