本文所分享的知识点是【native2ascii.exe详细使用方法、native2ascii转换示例】,欢迎您喜欢52ij所分享的新闻、攻略、电脑教程及手机知识等经验,下面是详细的讲解。
native2ascii.exe详细使用方法、native2ascii转换示例
native2ascii是sun java sdk提供的一个转码工具, 用来将别的文本类文件(比如 *.txt, *.ini, *.properties, *.java 等等)编码转为Unicode编码。
1. 如何获取 native2ascii.exe?
安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录, 该目录下就有我们所需要的native2ascii.exe 工具。
2. native2ascii.exe使用方法:
命令的语法格式:
native2ascii -[options] [inputfile [outputfile]]
说明:
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台。
举例: 把需要进行国际化的文件(如下图)拷贝到 C:\Program Files\Java\jdk1.6.0_31\bin 目录下, 应用native2ascii.exe工具进行转码。

通过cmd命令进入DOS命令窗口进行如下操作:

通过native2ascii命令转码成功后,如下图:

备注:native2ascii.exe是一个应用比较简单的转码工具,并且转码是可逆的。
试试如下命令:
native2ascii -reverse new.txt yan.txt
结果:

native2ascii -encoding gbk old.txt new.txt
结果:

java代码实现的jdk工具native2ascii.exe
分享个java实现的native2ascii.exe的转换工具,很有用。

package com.zuidaima;
public class Native2AsciiUtils {
private static String PREFIX="\\u";
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();
}
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);
}
}
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();
}
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));
}
}
关于native2ascii.exe详细使用方法、native2ascii转换示例的相关讨论如下:
相关问题:native2ascii.exe的-reverse方法怎么用?
答:如你的原始文件是1.properties(这个文件是中文编码),你想转换成unicode的 则在cmd下进入到你这个文件所在的目录键入:native2ascii -encoding gb2312 1.properties 2.properties,执行命令后你会在当前目录下看到一个2.properties的文件,内... >>详细
相关问题:native2ascii.exe 汉子转为Unicode编码时 出现的问...
答:你好。 不知道你是怎么用native2ascii的,如果直接用,那么你输入一个汉字,回车后就出来对应的unicode编码的Java代表,图中是我转的例子。 如果你想成批转,可以先有汉字的内容保存成文件, 然后调用native2ascii 1.txt > 2.txt 其中1.txt是带... >>详细
相关问题:native2ascii.exe转换之后的代码如何复制粘贴?
答:单击右键,选标记,然后用左键选定要复制的区域,敲回车键就复制成功了 至于粘贴,和普通的一样,Ctrl+V即可 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
