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;
/**
* 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转换示例相关推荐
- java国际化---native2ascii.exe 的使用方法
从另一个博客迁移 native2ascii.exe使用方法: 命令的语法格式: native2ascii -[options] [inputfile [outputfile]] 说明: -[optio ...
- NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例。
目录 NAT 技术原理: 静态NAT原理: 静态NAT(土豪用法): NAT转换示例: 静态NAT配置方法介绍: 1.方式一: 2.方式二: 静态NAT的配置实例: 动态NAT原理: 动态NAT转换示 ...
- 用java SDK/bin目录下的native2ascii.exe把.properties文件中的中文转换成unicode字符,实现国际化...
需要用到java SDK\\bin 目录下的native2ascii.exe程序,把你写的文本文件转成unicode字符即可,例: native2ascii 源文件名.txt 新文件名.txt 测试 ...
- JDK自带的实用工具native2ascii.exe
在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,原因是编码方式的不一致.native2ascii是sun java sdk提供的一个工具.用来将别的文本类文件(比如*.txt ...
- 关于java.util.Properties读取中文乱码的正确解决方案(不要再用native2ascii.exe了)...
从Spring框架流行后,几乎根本不用自己写解析配置文件的代码了, 但近日一个基础项目(实在是太基础,不能用硕大繁琐的Spring), 碰到了用java.util.Properties读取中文内容(U ...
- native2ascii.exe
native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下,安装好 Java S ...
- java 命令 native2ascii_java native2ascii.exe命令
native2ascii.exe 是 Java 的一个文件转码工具 native2ascii.exe的语法格式:native2ascii [-reverse] [-encoding 编码] [输入文件 ...
- native2ascii.exe 用法
如你的原始文件是1.properties(这个文件是中文编码),你想转换成unicode的 则在cmd下进入到你这个文件所在的目录键入:native2ascii -encoding gb2312 1. ...
- 利用JDK自带工具native2ascii 进行unicode编码和中文转换
背景:国际化资源文件翻译 将本地中文资源文件翻译为英文文件 在Eclipse打开的配置文件编码为Unicode,中文字符显示如下: 需要将中文显示出来,如果一行一行的人工翻译,有点Low(之前这么干过 ...
- Java中,native2ascii.exe 的使用(最简单说明)
・把文字转换为unicode编码 1.进入bin目录 后,运行native2ascii.exe 2.输入文章 3.按下回车,便会生成Unicode编码 ・把unicode编码转换为文字 1.新建一个t ...
最新文章
- 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
- boost::sort模块实现整数排序与右移函子反向排序示例
- showmodaldialog 为什么不能复制_防复制的门禁读头可以防止UID和FUID读卡器
- c语言中fr,关于frwite()函数的一个问题,弄了好久就是不行,求解啊!
- 手机广告投放(phone advertising)唯一标识
- 程序员工作3年只涨2千,你不知道程序员有多难!
- java 单例 生命周期_Rhythmk 一步一步学 JAVA (13) Spring-2 之Ben懒加载以及生命周期,单例...
- python把某列改为日期格式_如何更改整列的日期格式?
- linux下php-5.4.8.tar.gz编译安装全攻略
- 大一c语言程序设计计算器,C语言程序设计-课程设计《计算器程序》.docx
- python set去重
- DVR硬盘录像机技术
- 从古代遗传下来的设计值得一看!
- Android跳转到应用商店详情页面
- echarts 实现区域划分 折线图
- 【论文】三维坐标下TDOA之chan算法
- 克转换成千克怎么算python_如何在Python中将磅转换为千克
- oracle19c集群重启,由重启引起的Oracle RAC节点宕机分析及追根溯源
- The History Began from AlexNet: A Comprehensive Survey on Deep Learning Approaches
- 关于springboot整合mybatisplus中找不到数据库中的表的问题