1 用最原始的方法解决乱码问题---直接手动转码
2017-07-27 20:30
633 查看
一 在前端将中文转化为unicode
二 java后端将unicode转为中文
三 解析
1 unicode是16进制,和中文汉字有着意义对应的关系:
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。
utf-8长度是1-6个字节,第一个字节的高位1的数目指明了这个utf-8的字符使用的byte数目,在UTF-8编码集中,每个汉字使用 3个字符表示
2 charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
3 toString(16)数字以16进制显示
4 slice(-4)返回最后四位数字
5 java中把unicode转为汉字是一个逆向过程。
6 至于其中的转换规则我还不太懂,请大佬告诉我!
function encodeUnicode(str) { var res = []; for ( var i=0; i<str.length; i++ ) { res[i] = ( "00" + str.charCodeAt(i).toString(16) ).slice(-4); } return "\\u" + res.join("\\u"); }
二 java后端将unicode转为中文
public String convertUnicodeToChinese(String utfString){ StringBuilder sb = new StringBuilder(); int i = -1; int pos = 0; while((i=utfString.indexOf("\\u", pos)) != -1){ sb.append(utfString.substring(pos, i)); if(i+5 < utfString.length()){ pos = i+6; sb.append((char)Integer.parseInt(utfString.substring(i+2, i+6), 16)); } } return sb.toString(); }
三 解析
1 unicode是16进制,和中文汉字有着意义对应的关系:
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。
utf-8长度是1-6个字节,第一个字节的高位1的数目指明了这个utf-8的字符使用的byte数目,在UTF-8编码集中,每个汉字使用 3个字符表示
2 charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
3 toString(16)数字以16进制显示
4 slice(-4)返回最后四位数字
5 java中把unicode转为汉字是一个逆向过程。
6 至于其中的转换规则我还不太懂,请大佬告诉我!
相关文章推荐
- 页面js遇到乱码问题的解决方法是和无法转码的情况
- tomcat rar 压缩包 http 下载 乱码问题(即直接被浏览器打开) 解决方法
- 页面js遇到乱码问题的解决方法是和无法转码的情况
- 字符串转码解决乱码问题(不是根本解决方法)
- tomcat rar 压缩包 http 下载 乱码问题(即直接被浏览器打开) 解决方法
- 编写gbk到utf转码的javascript方法,解决ajax获取页面直接显示乱码的方法
- 备忘:解决ajax获取页面直接显示乱码的方法 [摘]
- Tomcat中文乱码问题的原理和解决方法
- .Net中通过DataSet直接更新数据库相关问题和解决方法
- 解决下载文件名乱码问题的简单方法
- str_replace 出现乱码的问题,解决方法(尽可能)
- asp读sql server数据出现乱码问题解决方法
- java乱码问题及解决方法的相关链接!
- windows到linux的mysql乱码问题解决方法
- 网页乱码问题的解决方法
- Apache 2乱码问题解决方法--转载中文php网
- Apache 2乱码问题解决方法
- Ajax的POST方法中文乱码问题解决
- ReportNet连接Informix中文乱码问题解决方法
- Tomcat中文乱码问题的原理和解决方法