java代码实现的jdk工具native2ascii.exe
来源:互联网 发布:有人转让我的淘宝店铺 编辑:程序博客网 时间:2024/06/05 14:40
分享个java实现的native2ascii.exe的转换工具,很有用。
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
0 0
- java代码实现的jdk工具native2ascii.exe
- JDK提供的转码工具native2ascii.exe的使用
- cmd操作jdk的native2ascii.exe工具--reverse
- JDK自带的转码工具 native2ascii.exe
- 经典java转码程序,有备无患!实现和 jdk/bin/native2ascii.exe 同样的功能
- 经典java转码程序,有备无患!实现和 jdk/bin/native2ascii.exe 同样的功能
- java转码工具native2ascii.exe的使用方法
- JDK自带的实用工具native2ascii.exe
- 用java代码实现native2ascii的功能
- java的native2ascii.exe使用
- java native2ascii.exe的使用
- Native2Ascii 的代码实现
- 转码工具 native2ascii.exe 的使用方法
- 转码工具native2ascii.exe的使用方法
- native2ascii.exe工具
- JDK 转码工具 native2ascii 的使用
- JDK自带的native2ascii工具揭密
- JDK native2ascii工具用法
- 判断连通图(并查集 )
- UML之类图
- OpenGL: 一个简单的例子
- unity3d学习笔记(二十)--利用JSON读取和保存游戏数据
- UVa 548 - Tree 二叉树的重建与遍历
- java代码实现的jdk工具native2ascii.exe
- iOS 7 认识 TextKit
- 优秀的 Java 程序员所应该知道的 Java 知识
- 判断三角形类型
- ASIHttprequest的使用
- Set
- 余额宝们赚的是谁的钱
- See LCS again
- Java回调方法