JS 文字符串转换unicode编码函数


Posted in Javascript onMay 30, 2009
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)); 
} 
}

这样中文字符串就可以转换成UTF-8编码.这种方法适合各种服务器环境..
Javascript 相关文章推荐
使用javascript实现页面定时跳转总结篇
Sep 21 Javascript
js特殊字符转义介绍
Nov 05 Javascript
javascript设计模式--策略模式之输入验证
Nov 27 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
图解Javascript——作用域、作用域链、闭包
Mar 21 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
Aug 20 Javascript
如何利用javascript接收json信息并进行处理
Aug 06 Javascript
Javascript 日期对象Date扩展方法
May 30 #Javascript
Jquery 基础学习笔记之文档处理
May 29 #Javascript
Jquery 基础学习笔记
May 29 #Javascript
javascript AutoScroller 函数类
May 29 #Javascript
关于JavaScript的一些看法
May 27 #Javascript
广告切换效果(缓动切换)
May 27 #Javascript
js 图片缩放(按比例)控制代码
May 27 #Javascript
You might like
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
js 小贴士一星期合集
2010/04/07 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
老生常谈Python序列化和反序列化
2017/06/28 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
python中pyplot基础图标函数整理
2020/11/10 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
主治医师岗位职责
2013/12/10 职场文书
应聘自荐信
2013/12/14 职场文书
2014年行政部工作总结
2014/11/19 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL