native2ascii使用(转载)文章分类:Java编程 背景: 在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。 1、native2ascii简介: native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。 2、获取native2ascii: 安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。 3、native2ascii的命令行的命名格式: native2ascii -[options] [inputfile [outputfile]] 说明: -[options]:表示命令开关,有两个选项可供选择 -reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。 -encoding encoding_name:转换为指定编码,encoding_name为编码名称。 [inputfile [outputfile]] inputfile:表示输入文件全名。 outputfile:输出文件名。如果缺少此参数,将输出到控制台。 4、最佳实践: 首先将JDK的bin目录加入系统变量path。在盘下建立一个test目录,在test目录里建立一个zh.txt文件,文件内容为:“熔岩”,打开“命令行提示符”,并进入C:/test目录下。下面就可以按照说明一步一步来操作,注意观察其中编码的变化。 A:将zh.txt转换为Unicode编码,输出文件到u.txt native2ascii zh.txt u.txt 打开u.txt,内容为“/u7194/u5ca9”。 B:将zh.txt转换为Unicode编码,输出到控制台 C:/test>native2ascii zh.txt /u7194/u5ca9 可以看到,控制台输出了“/u7194/u5ca9”。 C:将zh.txt转换为ISO8859-1编码,输出文件到i.txt native2ascii -encoding ISO8859-1 zh.txt i.txt 打开i.txt文件,内容为“/u00c8/u00db/u00d1/u00d2”。 D:将u.txt转换为本地编码,输出到文件u_nv.txt native2ascii -reverse u.txt u_nv.txt 打开u_nv.txt文件,内容为“熔岩”。 E:将u.txt转换为本地编码,输出到控制台 C:/test>native2ascii -reverse u.txt 熔岩可以看到,控制台输出了“熔岩”。 F:将i.txt转换为本地编码,输出到i_nv.txt native2ascii -reverse i.txt i_nv.txt 打开i_nv.txt文件,内容为“/u00c8/u00db/u00d1/u00d2”。发现转码前后完全一样的。也就是说,等于没有转,或者说思想糊涂,对命名没有理解。 G:将i.txt转换为GBK编码,输出到i_gbk.txt native2ascii -reverse -encoding GBK i.txt i_gbk.txt 打开i_gbk.txt文件,内容为“/u00c8/u00db/u00d1/u00d2”。发现转码前后完全一样的。也就是说,等于没有转,或者说思想糊涂,对命名没有理解。 H:将u_nv.txt转码到本地编码GBK,输出到控制台 C:/test>native2ascii -reverse -encoding ISO8859-1 i.txt 熔岩从这个结果看,目标达到到了,编码i.txt为ISO8859-1,转为本地编码后内容为“熔岩”。从这里应该意识到,native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为(生成的)目标文件的编码格式。这一点非常的重要!切记!! 继续探索,新建文件12a.txt,内容“12axyz”。看看纯字母数字的编码又如何。 I:将纯字母数字的文本文件12a.txt转换为Unicode编码 native2ascii 12a.txt 12a_nv.txt 打开12a_nv.txt文件,内容为“12axyz”。继续测试,转为ISO8859-1编码看看 C:/test>native2ascii -encoding ISO8859-1 12a.txt 12axyz 结果还是没有转码。
分享到:
相关推荐
在Java平台上,由于Java源代码和资源文件默认使用ASCII编码,因此当遇到非ASCII字符时,就需要使用像`native2ascii.exe`这样的工具进行转换。 在描述中提到,`native2ascii.exe`依赖于`java.dll`动态链接库和其他...
`native2ascii`命令是Java开发中用于处理非ASCII字符的一种工具,主要用于将含有非英文字符(如中文、日文等)...通过合理使用`native2ascii`,开发者可以轻松地管理包含非ASCII字符的资源,从而提升项目的国际化水平。
### Native2Ascii工具详解 #### 一、工具概述 `native2ascii` 是Sun Java SDK中的一个实用工具,主要用于将包含非ASCII字符的文本文件(如`.txt`、`.ini`、`.properties`、`.java`等)转换为Unicode编码格式。在...
native2ascii工具,不需要在命令行的转换了
Native2Ascii(Ascii2Native) Native2Ascii(Ascii2Native)
1. **转换过程**:首先,你需要确定源文件的编码格式,然后使用`native2ascii`命令指定源文件和目标文件。例如,如果你有一个用ISO-8859-1编码的文件`source.txt`,想要转换成Unicode编码的文件`target.txt`,命令会...
在Java开发中,由于Java源代码只支持ASCII字符集,但某些资源文件(如属性文件)可能包含本地化的非ASCII字符,这时就需要使用`native2ascii`工具将这些字符转换为可被Java理解的转义序列。 描述中的“简单易用”...
下面将详细探讨`Native2ascii`的使用方法、功能以及应用场景。 #### 一、基本语法与参数详解 `Native2Ascii`的基本语法如下: ``` native2ascii [options] [inputfile [outputfile]] ``` 其中,`[options]`可以...
2、将附件下的native2ascii.link 文件放在\Eclipse6.0.1\eclipse\links目录下,然后配置path=D:\\Program Files\\Eclipse6.0.1\\eclipse\\plugins\\native2ascii 即1所放置的native2ascii 文件夹位置,根据实际路径...
当属性文件包含非ASCII字符时,需要使用native2ascii工具进行转换,否则Java程序无法识别。在线版本的工具使得开发者可以在任何有网络连接的地方进行转换,特别是在多平台或多团队协作的项目中,这种在线工具可以...
通过在线native2ascii转换而成的html可以在本地直接使用,将需要的转换成unicode
native2ascii资源文件编码转换命令
偶没有装JDK,所以也无法使用JDK自带的实用工具native2ascii.exe,这是一个仿制工具,仅供JAVA加载资源文件时将汉字转换为UNICODE编码用;
用java写的中文字符转unicode码程序,功能类似于JDK里面的native2ascii,但是是图形界面,非常好用。
把文字编码变成统一的Unicode编码工具 Native Ascii 编码 本地 Java
mytest native2ascii javamytest native2ascii javamytest native2ascii java