中文和unicode互转
2016-01-17 15:10
302 查看
计算机语言中,关于中文汉字的描述,都是用unicode编码,这就势必引出一个问题,如果前端显示出一个unicode编码的字符,比如\u6621如何将这个字符转成我们认识的汉字呢,相反,如果有一个汉字,要将其转为unicode显示出来,又该如何做呢,这里分前后端两种实现。后端采用java语言,前端采用JavaScript。
其实算法是一样的:
unicode转中文:1.将字符串按照\u分解为多个16进制数字,2.将16进制转化为10进制并强制转化为char
中文转unicode:获取中文的祖父编码charcode,将其转化为16进制(不足4位的前面0补足),然后前面添加\u
java写法:
javascript写法:
转载请注明出处:http://gagalulu.wang/blog/detail/15 您的支持是我最大的动力!
其实算法是一样的:
unicode转中文:1.将字符串按照\u分解为多个16进制数字,2.将16进制转化为10进制并强制转化为char
中文转unicode:获取中文的祖父编码charcode,将其转化为16进制(不足4位的前面0补足),然后前面添加\u
java写法:
public String unicode2String(String unicodeStr){ StringBuffer sb = new StringBuffer(); String[] hex = unicode.split("\\\\u"); for(int i=0;i<hex.length;i++){ int data = Integer.parseInt(hex[i],16); sb.append((char)data); } return sb.toString(); } public String String2Unicode(String str){ int lenth = str.length(); StringBuffer sb = new StringBuffer(); for(int i=0;i<lenth;i++){ int code = str.charAt(i); String s = Integer.toHexString(code); sb.append("\\u"); for(int j=s.length();j<4;j++){ sb.append(0); } sb.append(s); } return sb.toString(); }
javascript写法:
function unicode2String(unicodeStr){ var hex = unicodeStr.split("\\u"); var sb = ""; for(var i=0;i<hex.length;i++){ var data = parseInt(hex[i],16); sb+=String.fromCharCode(data); } return sb; } function string2Unicode(str){ var len = str.length; var sb = ""; for(var i=0;i<len;i++){ var code = str.charCodeAt(i); var s = code.toString(16); sb += "\\u"; for(var j= s.length;j<4;j++){ sb+="0"; } sb+=s; } return sb; }
转载请注明出处:http://gagalulu.wang/blog/detail/15 您的支持是我最大的动力!
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- Extjs4.0 最新最全视频教程
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- Linux 与 Windows 对UNICODE 的处理方式
- Javascript中toFixed方法的改进
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序