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;

/**

* 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));

}

}

native2ascii.exe详细使用方法、native2ascii转换示例相关推荐

  1. java国际化---native2ascii.exe 的使用方法

    从另一个博客迁移 native2ascii.exe使用方法: 命令的语法格式: native2ascii -[options] [inputfile [outputfile]] 说明: -[optio ...

  2. NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例。

    目录 NAT 技术原理: 静态NAT原理: 静态NAT(土豪用法): NAT转换示例: 静态NAT配置方法介绍: 1.方式一: 2.方式二: 静态NAT的配置实例: 动态NAT原理: 动态NAT转换示 ...

  3. 用java SDK/bin目录下的native2ascii.exe把.properties文件中的中文转换成unicode字符,实现国际化...

    需要用到java SDK\\bin 目录下的native2ascii.exe程序,把你写的文本文件转成unicode字符即可,例: native2ascii 源文件名.txt 新文件名.txt 测试 ...

  4. JDK自带的实用工具native2ascii.exe

    在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,原因是编码方式的不一致.native2ascii是sun java sdk提供的一个工具.用来将别的文本类文件(比如*.txt ...

  5. 关于java.util.Properties读取中文乱码的正确解决方案(不要再用native2ascii.exe了)...

    从Spring框架流行后,几乎根本不用自己写解析配置文件的代码了, 但近日一个基础项目(实在是太基础,不能用硕大繁琐的Spring), 碰到了用java.util.Properties读取中文内容(U ...

  6. native2ascii.exe

    native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下,安装好 Java S ...

  7. java 命令 native2ascii_java native2ascii.exe命令

    native2ascii.exe 是 Java 的一个文件转码工具 native2ascii.exe的语法格式:native2ascii [-reverse] [-encoding 编码] [输入文件 ...

  8. native2ascii.exe 用法

    如你的原始文件是1.properties(这个文件是中文编码),你想转换成unicode的 则在cmd下进入到你这个文件所在的目录键入:native2ascii -encoding gb2312 1. ...

  9. 利用JDK自带工具native2ascii 进行unicode编码和中文转换

    背景:国际化资源文件翻译 将本地中文资源文件翻译为英文文件 在Eclipse打开的配置文件编码为Unicode,中文字符显示如下: 需要将中文显示出来,如果一行一行的人工翻译,有点Low(之前这么干过 ...

  10. Java中,native2ascii.exe 的使用(最简单说明)

    ・把文字转换为unicode编码 1.进入bin目录 后,运行native2ascii.exe 2.输入文章 3.按下回车,便会生成Unicode编码 ・把unicode编码转换为文字 1.新建一个t ...

最新文章

  1. 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
  2. boost::sort模块实现整数排序与右移函子反向排序示例
  3. showmodaldialog 为什么不能复制_防复制的门禁读头可以防止UID和FUID读卡器
  4. c语言中fr,关于frwite()函数的一个问题,弄了好久就是不行,求解啊!
  5. 手机广告投放(phone advertising)唯一标识
  6. 程序员工作3年只涨2千,你不知道程序员有多难!
  7. java 单例 生命周期_Rhythmk 一步一步学 JAVA (13) Spring-2 之Ben懒加载以及生命周期,单例...
  8. python把某列改为日期格式_如何更改整列的日期格式?
  9. linux下php-5.4.8.tar.gz编译安装全攻略
  10. 大一c语言程序设计计算器,C语言程序设计-课程设计《计算器程序》.docx
  11. python set去重
  12. DVR硬盘录像机技术
  13. 从古代遗传下来的设计值得一看!
  14. Android跳转到应用商店详情页面
  15. echarts 实现区域划分 折线图
  16. 【论文】三维坐标下TDOA之chan算法
  17. 克转换成千克怎么算python_如何在Python中将磅转换为千克
  18. oracle19c集群重启,由重启引起的Oracle RAC节点宕机分析及追根溯源
  19. The History Began from AlexNet: A Comprehensive Survey on Deep Learning Approaches
  20. 关于springboot整合mybatisplus中找不到数据库中的表的问题

热门文章

  1. hadoop中HDFS命令遇到的问题
  2. AR8035 linux
  3. FileLocator Pro:强大高效的无索引全文搜索软件
  4. VS如何安装.nupkg文件
  5. Python爬虫爬取豆瓣图书的信息和封面,放入MySQL数据库中。
  6. kali-linux学习笔记及经验总结(持更)
  7. 用MATLAB 读写各种文件 ∈ Matlab 使用笔记
  8. xamarin android pdf,Xamarin 中的Android资源及使用.pdf
  9. PN532读写卡器(支持NFC、RFID)
  10. IOS如何使用第三方字体