转载:《JDK自带的实用工具——native2ascii.exe 》

转自:http://blog.csdn.net/rayleigh_w/article/details/2407575

声明:本人转载只为分享,如涉及商业版权纠纷,请及时与本人联系,必将立即删除,造成不便,还望见谅,谢谢。

导读:


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

一.获取native2ascii
  安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。


二.使用方法
命令行格式:



native2ascii.exe -[options] [inputfile [outputfile]]



其中:
  -[options]表示命令开关,有两个选项可供选择:
    -reverse:用Latin-1或Unicode编码把文件转换成本地编码格式
    -encoding encoding_name:要把文件转换的目标编码
  inputfile:表示输入文件全名。
  outputfile:输出文件名。如果缺少此参数,将输出到控制台。


具体介绍如下:
1.命令行交互方式
  在这种方式下通过手工输入字符实时在Console中实现交互转码。退出按Ctrl+c
  1)本地编码→Latin编码:
   直接敲入native2ascii.exe,程序光标会停在下一行,这时你可以直接敲入想要转换的字符,例如:



D:/jdk1.5.0_06/bin>native2ascii.exe
  我们
  /u6211/u4eec



  2)Latin-1编码→指定编码:
   直接敲入native2ascii.exe -reverse,程序光标会停在下一行,这时你可以直接敲入想要转换的字符,例如:



D:/jdk1.5.0_06/bin>native2ascii.exe -reverse
  /u6211/u4eec
  我们



2.文件转换方式
  在这种方式下通过指定inputfile和outputfile来实现转码。
  1)指定编码→Latin编码:
    例如:



D:/jdk1.5.0_06/bin>native2ascii.exe -encoding utf8 abc.txt bcd.txt



  2)Latin-1编码→指定编码:
    例如:



D:/jdk1.5.0_06/bin>native2ascii.exe -reverse utf8 abc.txt bcd.txt



常见编码列表:
8859_1 ISO 8859-1
8859_2 ISO 8859-2
8859_3 ISO 8859-3
8859_4 ISO 8859-4
8859_5 ISO 8859-5
8859_6 ISO 8859-6
8859_7 ISO 8859-7
8859_8 ISO 8859-8
8859_9 ISO 8859-9
Big5 Big5 码,繁体中文
CNS11643 CNS 11643,繁体中文
Cp037 美国、加拿大(两种语言,法语)、荷兰、葡萄牙、巴西、澳大利亚
Cp1006 IBM AIX 巴基斯坦(乌尔都语)
Cp1025 IBM 多语种西里尔语:保加利亚、波斯尼亚 、黑塞哥维那、马其顿 (FYR)
Cp1026 IBM Latin-5,土耳其
Cp1046 IBM Open Edition US EBCDIC
Cp1097 IBM 伊朗(波斯语)/波斯
Cp1098 IBM 伊朗(波斯语)/波斯 (PC)
Cp1112 IBM 拉脱维亚,立陶宛
Cp1122 IBM 爱沙尼亚
Cp1123 IBM 乌克兰
Cp1124 IBM AIX 乌克兰
Cp1125 IBM 乌克兰 (PC)
Cp1250 Windows 东欧
Cp1251 Windows 斯拉夫语
Cp1252 Windows Latin-1
Cp1253 Windows 希腊
Cp1254 Windows 土耳其
Cp1255 Windows 希伯莱
Cp1256 Windows 阿拉伯
Cp1257 Windows 波罗的语
Cp1258 Windows 越南语
Cp1381 IBM OS/2, DOS 中华人民共和国 (PRC)
Cp1383 IBM AIX 中华人民共和国 (PRC)
Cp273 IBM 奥地利、德国
Cp277 IBM 丹麦、挪威
Cp278 IBM 芬兰、瑞典
Cp280 IBM 意大利
Cp284 IBM 加泰罗尼亚语/西班牙、拉丁美洲西班牙语
Cp285 IBM 英国、爱尔兰
Cp297 IBM 法国
Cp33722 IBM-eucJP - 日语 (5050 的超集)
Cp420 IBM 阿拉伯
Cp424 IBM 希伯莱
Cp437 MS-DOS 美国、澳大利亚、新西兰、南非
Cp500 EBCDIC 500V1
Cp737 PC 希腊
Cp775 PC 波罗的语
Cp838 IBM 泰国扩展 SBCS
Cp850 MS-DOS Latin-1
Cp852 MS-DOS Latin-2
Cp855 IBM 斯拉夫语
Cp857 IBM 土耳其语
Cp860 MS-DOS 葡萄牙语
Cp861 MS-DOS 冰岛语
Cp862 PC 希伯莱
Cp863 MS-DOS 加拿大法语
Cp864 PC 阿拉伯语
Cp865 MS-DOS 日尔曼语
Cp866 MS-DOS 俄语
Cp868 MS-DOS 巴基斯坦语
Cp869 IBM 现代希腊语
Cp870 IBM 多语种 Latin-2
Cp871 IBM 冰岛语
Cp874 IBM 泰国语
Cp875 IBM 希腊语
Cp918 IBM 巴基斯坦(乌尔都语)
Cp921 IBM 拉脱维亚、立陶宛(AIX, DOS)
Cp922 IBM 爱沙尼亚 (AIX, DOS)
Cp930 与 4370 UDC 混合的日语,5026 的超集
Cp933 与 1880 UDC 混合的韩文,5029 的超集
Cp935 与 1880 UDC 混合的简体中文主机,5031 的超集
Cp937 与 6204 UDC 混合的繁体中文,5033 的超集
Cp939 与 4370 UDC 混合的日语拉丁字母,5035 的超集
Cp942 日语 (OS/2),932 的超集
Cp948 OS/2 中文(台湾),938 超集
Cp949 PC 韩文
Cp950 PC 中文(香港、台湾)
Cp964 AIX 中文(台湾)
Cp970 AIX 韩文
EUCJIS JIS, EUC 编码、日语
GB2312 GB2312, EUC 编码、简体中文
GBK GBK, 简体中文
ISO2022CN ISO 2022 CN, 中文
ISO2022CN_CNS ISO-2022-CN 形式的 CNS 11643,繁体中文
ISO2022CN_GB ISO-2022-CN 形式的 GB 2312,简体中文
ISO2022KR ISO 2022 KR, 韩文
JIS JIS, 日语
JIS0208 JIS 0208, 日语
KOI8_R KOI8-R, 俄语
KSC5601 KS C 5601, 韩文
MS874 Windows 泰国语
MacArabic Macintosh 阿拉伯语
MacCentralEurope Macintosh Latin-2
MacCroatian Macintosh 克罗地亚语
MacCyrillic Macintosh 斯拉夫语
MacDingbat Macintosh Dingbat
MacGreek Macintosh 希腊语
MacHebrew Macintosh 希伯莱语
MacIceland Macintosh 冰岛语
MacRoman Macintosh 罗马语
MacRomania Macintosh 罗马尼亚语
MacSymbol Macintosh 符号
MacThai Macintosh 泰国语
MacTurkish Macintosh 土耳其语
MacUkraine Macintosh 乌克兰语
SJIS Shift-JIS, 日语
UTF8 UTF-8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值