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 08 Javascript
jQuery针对各类元素操作基础教程
Aug 29 Javascript
Javascript学习笔记之相等符号与严格相等符号
Nov 23 Javascript
谈谈AngularJs中的隐藏和显示
Dec 09 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
Dec 30 Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 Javascript
详解vuejs之v-for列表渲染
Jun 22 Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 Javascript
Vue-component全局注册实例
Sep 06 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
Dec 13 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
Jan 27 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 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
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
jquery 图片轮换效果
2010/07/29 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
解析Python中的二进制位运算符
2015/05/13 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
Python中有几个关键字
2020/06/04 Python
Python如何获取文件路径/目录
2020/09/22 Python
python中pop()函数的语法与实例
2020/12/01 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
应聘教师求职信范文
2015/03/20 职场文书
人事任命通知
2015/04/20 职场文书
在职证明范本
2015/06/15 职场文书
初三毕业感言
2015/07/31 职场文书
话题作文之生命的旋律
2019/12/17 职场文书