native2ascii用法解析
来源:脚本之家 2022-02-10 14:00:08
native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。 用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]] -[options]:表示命令开关,有两个选项可供选择 -reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。 -encoding encoding_name:转换为指定编码,encoding_name为编码名称。 [inputfile [outputfile]] inputfile:表示输入文件全名。 outputfile:输出文件名。如果缺少此参数,将输出到控制台 native2ascii命令的用法: 只有一种类型编码,可以说文本文件编码和文本内容编码指的是同一个意思。 建议理解成文本文件编码(看第四). 结论: 1.这里说的16进制的字符是本地编码的字符的16进制字符表示。 2.utf-8编码(有本地字符)和ANSI编码(有本地字符)的文件转成ANSI编码的本地字符的16进制字符表示是一样的。 3.utf-8编码(有本地字符)的文件要转成ANSI编码的(本地字符)的文件,要先转成ANSI编码的16进制字符文件,之后再转成ANSI编码的本地字符的文件。 4.前提是这个16进制的字符必须代表一个本地字符. 疑问:难道没有转换utf-8编码的本地字符文件转为utf-8编码的16进制字符表示的方法?!它和ANSI编码表示的 16进制一样吗? 一、把ANSI编码的本地字符文件转成ANSI编码的16进制文件再转回来。 两步走: 1.native2ascii -encoding gbk [ANSI编码文件,显示ANSI本地字符] [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] 2.native2ascii -reverse [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] [ANSI编码文件,即ANSI本地字符] 二、把ANSI编码的本地字符(或16进制字符)文件转成utf-8编码的本地字符文件。 >native2ascii -reverse -encoding utf-8 [ANSI编码文件,即ANSI本地字符] [UTF-8编码文件] >native2ascii -reverse -encoding utf-8 [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] [UTF-8编码文件] 三、把utf编码的文件(显示本地字符),转成ANSI编码的文件。 两步走: 1.先转成ANSI编码的十六进制字符文件 native2ascii -encoding utf-8 [UTF-8编码文件] [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] 2.再转成ANSI编码的本地字符文件。 native2ascii -reverse [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] [ANSI编码文件,即ANSI本地字符] 四、如果是utf编码的文件,有本地字符的16进制的话,想转成ANSI编码的本地字符表示。 用native2ascii的话是不行的. 只能用记事本把文件编码类型另存为ANSI编码的16进制的文件,之后执行第一步. 这个太麻烦了,能不用时就不要用
标签: