描述:简单模拟JDK自带的 native2ascii.exe 的功能
package org.demo.util;
import java.io.IOException;
/**
* 字符转换
* @author
* @date 2010-9-13
* @file org.demo.util.Ascii2Native.java
*/
public class Native2Ascii {
private static final String PREFIX = "\\u";
/**
* @param args
*/
public static void main(String[] args)throws IOException {
String str = "Welcome!我的朋友.";
String ascii = native2ascii(str);
System.out.println("ascii->\n" + ascii);
//
String data = ascii2native(ascii);
System.out.println("native->\n" + data);
}
/**
* native2ascii
* @param text
* @return
*/
public static String native2ascii(String text){
StringBuilder sb = new StringBuilder();
for (int i=0; i<text.length(); i++){
char ch = text.charAt(i);
String ascii = char2ascii(ch);
sb.append(ascii);
}
return sb.toString();
}
/**
* char -> ascii
* @param ch
* @return
*/
private static String char2ascii(char ch) {
if (ch < 256){
return Character.toString(ch);
}
String hex = Integer.toHexString(ch);
if (hex.length() < 4){
hex = "0" + hex;
}
return PREFIX + hex;
}
/**
* native2ascii
* @param ascii
* @return
*/
public static String ascii2native(String text){
StringBuilder sb = new StringBuilder();
int start = 0;
int idx = text.indexOf(PREFIX);
while (idx != -1){
// 上一个 Unicode 码与当前 Unicode 码之间的有效字符
// eg: \u0101ABC\u0102 之间的ABC
sb.append(text.substring(start, idx));
// 转换当前 Unicode 码
String ascii = text.substring(idx + 2,idx + 6);
char ch = (char)Integer.parseInt(ascii,16);
sb.append(ch);
// 查找下一个 Unicode
start = idx + 6;
idx = text.indexOf(PREFIX,start);
}
// 结尾的有效字符
sb.append(text.substring(start));
return sb.toString();
}
}
输出结果:
ascii->
Welcome!\u6211\u7684\u670b\u53cb.
native->
Welcome!我的朋友.
分享到:
相关推荐
mytest native2ascii javamytest native2ascii javamytest native2ascii java
`native2ascii` 是Sun Java SDK中的一个实用工具,主要用于将包含非ASCII字符的文本文件(如`.txt`、`.ini`、`.properties`、`.java`等)转换为Unicode编码格式。在软件开发过程中,特别是在处理国际化(i18n)需求...
标题中的"native2ascii.exe"是一款Java开发工具,主要用于处理非ASCII编码的本地化资源文件。这个工具将本地化的文本,比如包含特殊字符或者非英文字符的字符串,转换成ASCII编码,以便Java程序能够正确读取和处理。...
描述中的“基于JDK的native2ascii的编码转换图形工具”可能就是这样的一种实现,它可能是将`native2ascii`的命令行操作集成到一个图形用户界面(GUI)程序中,使得非技术用户也能轻松进行编码转换。 使用`native2...
`native2ascii`命令是Java开发中用于处理非ASCII字符的一种工具,主要用于将含有非英文字符(如中文、日文等)的文本文件转换为Unicode编码的ASCII格式,以便Java虚拟机(JVM)能够正确识别和处理。这个命令对于国际...
Native2Ascii(Ascii2Native) Native2Ascii(Ascii2Native)
8. **native2ascii.jar**:原生的`native2ascii`工具的Java实现,通常位于Java SDK的bin目录下,主要用于命令行操作。 总的来说,这个压缩包提供了一个基于SWT的图形化版本的`native2ascii`工具,以及其运行所需的...
在Java开发中,native2ascii工具是用于处理非ASCII字符的,特别是处理包含特殊字符(如中文、日文等)的资源文件时,需要将其转换为ASCII编码以便Java虚拟机可以正确读取。这个在线版本的工具使得开发者无需在本地...
标题中的"native2ascii"是Java开发中一个重要的工具,主要用于处理非ASCII字符,尤其是在处理配置文件如`.properties`时。在Java系统中,`.properties`文件通常用于存储配置信息,但它们默认只支持ASCII字符集。当...
《深入理解Java转码工具:native2ascii.exe》 在Java开发过程中,有时我们需要处理包含非ASCII字符的文本文件,例如包含中文、日文或其他语言的字符串。这时,Java的`native2ascii.exe`工具就显得尤为重要。它是一...
把文字编码变成统一的Unicode编码工具 Native Ascii 编码 本地 Java
用java写的中文字符转unicode码程序,功能类似于JDK里面的native2ascii,但是是图形界面,非常好用。
偶没有装JDK,所以也无法使用JDK自带的实用工具native2ascii.exe,这是一个仿制工具,仅供JAVA加载资源文件时将汉字转换为UNICODE编码用;
用C#编写的Native和Ascii转换工具,这只是用几分钟写的初版. "设置"按钮还没有想好添加什么功能. 目前程序是置顶的,窗体大小可以改变. 现在只有文本框内容转换,后续会添加文件转换和批量文件转换. 有什么建议可以写在...