js将中文转换成编码 java解析_JS实现的汉字与Unicode码相互转化功能分析
本文实例讲述了JS实现的汉字与Unicode码相互转化功能。分享给大家供大家参考,具体如下:
有时候,我们在给后端传递变量的的值中有汉字,可能由于编码的原因,传递到后端后变为乱码了。所以有时候为了省事或者其它特殊要求的时候,会把传递的汉字转换成Unicode编码后再进行传递。
当然汉字转换成unicode编码,使用JS的charCodeAt()方法就可以。
'好'.charCodeAt(0).toString(16)
"597d"
这段代码的意思是,把字符'好'转化成Unicode编码,toString()就是把字符转化成16进制了
用法:charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数
语法:stringObject.charCodeAt(index)
index参数必填,表示字符串中某个位置的数字,即字符在字符串中的下标。
注:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
例如:
var str="Hello world!"
document.write(str.charCodeAt(1))
//结果:101
'好哦'.charCodeAt(0).toString(16)
"597d"
'好哦'.charCodeAt(1).toString(16)
"54e6"
要是想把unicode解码成字符呢?
要想对Unicode解码的话,必须要用转义字符'\u'
'\u54e6'
"哦"
总结下:
js unicode是以十六进制代码外加开头\u表示的字符串。即\unnnn
Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
下面先看一个简单的例子,汉字转化为unicode方法:
function toUnicodeFun(data){
if(data == '' || typeof data == 'undefined') return '请输入汉字';
var str ='';
for(var i=0;i
str+="\\u"+data.charCodeAt(i).toString(16);
}
return str;
}
var resultUnicode = toUnicodeFun('中国'); // \u4e2d\u56fd
console.log(resultUnicode);
unicode转化为汉字的方法:
function toChineseWords(data){
if(data == '' || typeof data == 'undefined') return '请输入十六进制unicode';
data = data.split("\\u");
var str ='';
for(var i=0;i
str+=String.fromCharCode(parseInt(data[i],16).toString(10));
}
return str;
}
var resultChineseWords = toChineseWords("\u4e2d\u56fd");
console.log(resultChineseWords);//中国
在网上找到另外一个实现方式:
var GB2312UnicodeConverter={
ToUnicode:function(str){
return escape(str).toLocaleLowerCase().replace(/%u/gi,'\\u');
},
ToGB2312:function(str){
return unescape(str.replace(/\\u/gi,'%u'));
}
};
var result = GB2312UnicodeConverter.ToUnicode('中国'); //\u4e2d\u56fd
var result2 = GB2312UnicodeConverter.ToUnicode(result); //%5cu4e2d%5cu56fd
下面实现汉字转Unicode码:
function toUnicode(s){
return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){
return "\\u" + newStr.charCodeAt(0).toString(16);
});
}
PS:这里再为大家提供几款Unicode编码转换操作相关工具供大家参考使用:
希望本文所述对大家JavaScript程序设计有所帮助。
js将中文转换成编码 java解析_JS实现的汉字与Unicode码相互转化功能分析相关推荐
- js将中文转换成拼音可首字母大写
地址:http://lazycms.googlecode.com/svn/other/Pinyin.js 使用方法: <script src="Pinyin.js" type ...
- java做的一个将中文转换成Unicode码的工具类【转载】做个标记,明天研究下
这两天在使用RBManager(一个开源工具,用于多国化字符转化)工具的时候觉得很不方便,有的时候只需要知道中文对应的unicode码是多少,不需要这么麻烦的操作,所以就自己写了一个工具,专门用于将中 ...
- js将阿拉伯数字转换成中文的大写数字
js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => {var AA = new Array("零", &qu ...
- c语言utf8字符转换,C语言示例-中文转换成UTF-8编码
/** 中文字符串转UTF-8与GBK码示例 */ public static void tttt() throws Exception { String old = "手机银行" ...
- 将中文转换成URL编码
/** * 将中文转换成url编码 * 2016-4-26 10:17:39 */ public static String toUrlEncode(String s) { StringBuffer ...
- PDF转换成图片(Java pdfbox实现 附中文乱码解决方案)
PDF转换成图片(Java pdfbox实现) pdf转成图片在java中主流的做法就是pdfbox和icepdf 然而我选择pdfbox 废话不多说上代码 引入依赖 <!--pdfbox--& ...
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...
- js中将字符串转换成json的三种方式
ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐 ...
- 将中文转换成拼音的组件类的pinyin
---------------------- ASP.Net+Unity开发. .Net培训.期待与您交流! ---------------------- 1.增加对不同编码格式文本的支持,同时增加编 ...
最新文章
- Linux redhat 5.4上安装MYDNS
- 微信公众平台开发(26) ACCESS TOKEN
- WordPress 数据库结构及表字段作用解析
- [html] 浏览器内多个标签页之间的通信方式有哪些?
- eclipse git拉取失败_Git(四):分支
- linux安全技术课程报告,综合实例一+linux平台WEB安全技术研究报告.doc
- 关于Silverlight安装问题之四
- FFmpeg查看支持的封装、编解码器、滤镜(四)
- www.050604.pw ub.php,《UFIDA用友软件维护工具》050604版使用说明
- python制作查询软件_Python制作快递查询工具
- html怎么设置seo,简单说明一下html相关的seo设置!
- Google中国产品不断升级改进 继续招聘优秀人才
- 大数据中心显示大屏幕用液晶拼接屏还是led显示屏?
- Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
- 4 个免费好用的 WordPress 图库插件
- Dual Band Wireless-AC 3165无线网卡 win10 无法开启热点 解决
- 高新技术企业定义和好处
- return R.ok()
- 22位压缩版UUID
- USB Mass Storage Class
热门文章
- 程序代码错误检测_错误检测代码
- Java LocalDate类| 带示例的format()方法
- Java RandomAccessFile seek()方法与示例
- python 发送邮件connect none_使用python向IP地址发送邮件
- arduino 蓝牙示例_Arduino简单实例之八_蓝牙模块
- java.util.zip_[Java 基础] 使用java.util.zip包压缩和解压缩文件
- 多选取值_机制砂如何控制MB值和石粉含量
- 为什么创建线程池一定要用ThreadPoolExecutor?
- Android 如何让EditText不自动获取焦点
- C++总结篇(1)命名空间及引用