native2ascii 是一个存在于jdk 的bin 目录下的native2ascii.exe文件,你得把bin目录整到你环境变量path里。
查官方api文档,命令如下:
首先,[oprions],有如下两个命令可以选择:
“-reverse” : 将Latin-1或者Unicode编码转换为本地代码。(就是形如: \u4f60\u597d -->你好)
“-encoding encoding_name”:将本地编码转换为Latin-1或Unicode编码,如: -encoding gbk
(就是: 你好--》\u4f60\u597d),当然也可跟-reverse命令配合使用,
来指定-reverse 的源文件编码方式。后面具体描述。
其次,[inputfile [outputfile]]
inputfile, 你懂地,输入文件。如果没有输入文件,你在控制台输入点字符串也可以。
outputfile,你更懂,输出文件嘛。如果不输的话,它会给你在控制台打出结果。
实际示例:
1、将一个全是中文的文本文件 a.txt (内容为:“你好!” ,你可以用其他格式的文件) 转为 Unicode:
native2ascii a.txt
2、将中文文件a.txt 转换成Unicode编码后,输出到目标文件b.txt中:
native2ascii a.txt b.txt
3、将中文文件转换为其他编码,如通用的 iso8859-1,输出到iso.txt :
native2ascii -encoding ISO8859-1 a.txt iso.txt
4、使用-reverse命令,将Unicode编码逆转为本地编码,输出在控制台:
native2ascii -reverse b.txt
5、使用-reverse -encoding encoding_name 将其他形式编码转换为本地编码
native2ascii -reverse -encoding ISO8859- 1 iso.txt
总结:
因为 java 默认是Unicode编码,
故“ native2ascii inputfile” 命令等价于“ native2ascii -encoding Unicode inputfile”,
" native2ascii -reverse inputfile " 等价于 native2ascii -reverse -encoding Unicode inputfile
所以,平时在使用中如果默认的话,都把 -encoding encoding_name 参数省去,以示简洁。