java代码实现的jdk工具native2ascii.exe
2014-02-15 12:00
405 查看
分享个java实现的native2ascii.exe的转换工具,很有用。
代码地址:http://www.zuidaima.com/share/1550463464180736.htm
package com.zuidaima; /** * native2ascii.exe Java code implementation. * * @author * @version 1.0 */ public class Native2AsciiUtils { /** * prefix of ascii string of native character */ private static String PREFIX = "\\u"; /** * Native to ascii string. It's same as execut native2ascii.exe. * * @param str * native string * @return ascii string */ public static String native2Ascii(String str) { char[] chars = str.toCharArray(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < chars.length; i++) { sb.append(char2Ascii(chars[i])); } return sb.toString(); } /** * Native character to ascii string. * * @param c * native character * @return ascii string */ private static String char2Ascii(char c) { if (c > 255) { StringBuilder sb = new StringBuilder(); sb.append(PREFIX); int code = (c >> 8); String tmp = Integer.toHexString(code); if (tmp.length() == 1) { sb.append("0"); } sb.append(tmp); code = (c & 0xFF); tmp = Integer.toHexString(code); if (tmp.length() == 1) { sb.append("0"); } sb.append(tmp); return sb.toString(); } else { return Character.toString(c); } } /** * Ascii to native string. It's same as execut native2ascii.exe -reverse. * * @param str * ascii string * @return native string */ public static String ascii2Native(String str) { StringBuilder sb = new StringBuilder(); int begin = 0; int index = str.indexOf(PREFIX); while (index != -1) { sb.append(str.substring(begin, index)); sb.append(ascii2Char(str.substring(index, index + 6))); begin = index + 6; index = str.indexOf(PREFIX, begin); } sb.append(str.substring(begin)); return sb.toString(); } /** * Ascii to native character. * * @param str * ascii string * @return native character */ private static char ascii2Char(String str) { if (str.length() != 6) { throw new IllegalArgumentException( "Ascii string of a native character must be 6 character."); } if (!PREFIX.equals(str.substring(0, 2))) { throw new IllegalArgumentException( "Ascii string of a native character must start with \"\\u\"."); } String tmp = str.substring(2, 4); int code = Integer.parseInt(tmp, 16) << 8; tmp = str.substring(4, 6); code += Integer.parseInt(tmp, 16); return (char) code; } public static void main(String[] args) { String uni = "\u5185\u5bb9ID\u4e0d\u80fd\u4e3a\u7a7a"; System.out.println(ascii2Native(uni)); } }
代码地址:http://www.zuidaima.com/share/1550463464180736.htm
相关文章推荐
- java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了
- 实现统计java程序代码的小工具
- 用java代码实现native2ascii的功能
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- Java JDK中ArrayList的代码实现
- 使用java的wsimport.exe工具生成wsdl的客户端代码
- java 中汉字的转化成Unicode编码 的方法 JDK自带的native2ascii工具
- java代码实现开启openoffice服务和关闭sffice.exe进程
- Java通过一系列工具打包成不需要JDK支持的exe文件
- 最新版exe4j(JAVA代码编译exe文件的工具)内付破解
- java使用Apache工具集实现ftp文件传输代码详解
- 使用java的wsimport.exe工具生成wsdl的客户端代码
- java实现人民币数字转换中文大写的工具实例代码demo分享
- native2ascii和ascii2native的JDK、JS、Java的几种实现方式
- 使用java的wsimport.exe工具生成wsdl的客户端代码
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- 使用java的wsimport.exe工具生成wsdl的客户端代码
- 使用java的wsimport.exe工具生成wsdl的客户端代码