资源描述:
《java中文转换Unicode编码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java中文Unicode中文转换转换背景:把中文转换成Unicode编码再直接输出,程序解析XML,properties,以及JS打印提示信息后再把Unicode编码转回中文就没有问题了。提供两种方法把中文转换成Unicode编码:第一种办法:Eclipse中JS转换法1.web项目中随便新建一个*.js文件,将文件的编码属性设置为utf8 (右击文件从弹出菜单中选择“properties”在弹出的属性对话框中设置“Textfileencoding”选项) 2.打开新建的*.js文件,输入:“要转换的汉字”. 3.按下Ctrl+Shift+F或右键点击文件内容从弹出菜单中选择“Fo
2、rmatDocument”选型,效果出来了。 总结:必须将汉字放到””中间,否则不转换. ^_^ 第二种办法:JAVA程序实现法publicclassCharacterSetToolkit{/**CreatesanewinstanceofCharacterSetToolkit*/publicCharacterSetToolkit(){}privatestaticfinalchar[]hexDigit={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};privatestaticchartoHex(intn
3、ibble){returnhexDigit[(nibble&0xF)];}/***将字符串编码成Unicode。*@paramtheString待转换成Unicode编码的字符串。*@paramescapeSpace是否忽略空格。*@return返回转换后Unicode编码的字符串。*/publicstaticStringtoUnicode(StringtheString,booleanescapeSpace){intlen=theString.length();intbufLen=len*2;if(bufLen<0){bufLen=Integer.MAX_VALUE;}String
4、BufferoutBuffer=newStringBuffer(bufLen);for(intx=0;x61)&&(aChar<127)){if(aChar=='\'){outBuffer.append('\');outBuffer.append('\');continue;}outBuffer.append(aChar);contin
5、ue;}switch(aChar){case'':if(x==0
6、
7、escapeSpace)outBuffer.append('\');outBuffer.append('');break;case't':outBuffer.append('\');outBuffer.append('t');break;case'':outBuffer.append('\');outBuffer.append('n');break;case'r':outBuffer.append('\');outBuffer.append('r');break;case'f':outBuffer.
8、append('\');outBuffer.append('f');break;case'='://Fallthroughcase':'://Fallthroughcase'#'://Fallthroughcase'!':outBuffer.append('\');outBuffer.append(aChar);break;default:if((aChar<0x0020)
9、
10、(aChar>0x007e)){outBuffer.append('\');outBuffer.append('u');outBuffer.append(toHex((aChar>>12)&0xF));o
11、utBuffer.append(toHex((aChar>>8)&0xF));outBuffer.append(toHex((aChar>>4)&0xF));outBuffer.append(toHex(aChar&0xF));}else{outBuffer.append(aChar);}}}returnoutBuffer.toString();}/***从Unicode码转换成编码前的特殊字符串。*@paraminUnicode编码的字符数组。*@par