Chinaunix首页 | 论坛 | 博客
  • 博客访问: 463774
  • 博文数量: 173
  • 博客积分: 2970
  • 博客等级: 少校
  • 技术积分: 1490
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-11 14:35
文章存档

2011年(9)

2010年(17)

2009年(62)

2008年(85)

我的朋友

分类: Java

2008-09-19 14:09:39

导读:
  在做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

阅读(1313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~