Chinaunix首页 | 论坛 | 博客
  • 博客访问: 806337
  • 博文数量: 142
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2905
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(142)

文章存档

2019年(2)

2009年(51)

2008年(89)

分类: Java

2008-11-19 00:45:08

在做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,程序光标会停在下一行,这时你可以直接敲入想要转换的字符,例如:
  1.  D:\jdk1.5.0_06\bin>native2ascii.exe   
  2.   我们   
  3.   \u6211\u4eec  


  2)Latin-1编码→指定编码:
   直接敲入native2ascii.exe -reverse,程序光标会停在下一行,这时你可以直接敲入想要转换的字符,例如:
  1.  D:\jdk1.5.0_06\bin>native2ascii.exe -reverse   
  2.   \u6211\u4eec   
  3.   我们  


2.文件转换方式
  在这种方式下通过指定inputfile和outputfile来实现转码。
  1)指定编码→Latin编码:
    例如:
  1. D:\jdk1.5.0_06\bin>native2ascii.exe -encoding utf8 abc.txt bcd.txt  


  2)Latin-1编码→指定编码:
    例如:
  1. D:\jdk1.5.0_06\bin>native2ascii.exe -reverse utf8 abc.txt bcd.txt  


常见编码列表:
  1. 8859_1           ISO 8859-1  
  2. 8859_2           ISO 8859-2  
  3. 8859_3           ISO 8859-3  
  4. 8859_4           ISO 8859-4  
  5. 8859_5           ISO 8859-5  
  6. 8859_6           ISO 8859-6  
  7. 8859_7           ISO 8859-7  
  8. 8859_8           ISO 8859-8  
  9. 8859_9           ISO 8859-9  
  10. Big5             Big5 码,繁体中文   
  11. CNS11643         CNS 11643,繁体中文   
  12. Cp037            美国、加拿大(两种语言,法语)、荷兰、葡萄牙、巴西、澳大利亚   
  13. Cp1006           IBM AIX 巴基斯坦(乌尔都语)   
  14. Cp1025           IBM 多语种西里尔语:保加利亚、波斯尼亚 、黑塞哥维那、马其顿 (FYR)   
  15. Cp1026           IBM Latin-5,土耳其   
  16. Cp1046           IBM Open Edition US EBCDIC   
  17. Cp1097           IBM 伊朗(波斯语)/波斯   
  18. Cp1098           IBM 伊朗(波斯语)/波斯 (PC)   
  19. Cp1112           IBM 拉脱维亚,立陶宛    
  20. Cp1122           IBM 爱沙尼亚   
  21. Cp1123           IBM 乌克兰   
  22. Cp1124           IBM AIX 乌克兰   
  23. Cp1125           IBM 乌克兰 (PC)   
  24. Cp1250           Windows 东欧   
  25. Cp1251           Windows 斯拉夫语   
  26. Cp1252           Windows Latin-1  
  27. Cp1253           Windows 希腊   
  28. Cp1254           Windows 土耳其   
  29. Cp1255           Windows 希伯莱   
  30. Cp1256           Windows 阿拉伯   
  31. Cp1257           Windows 波罗的语   
  32. Cp1258           Windows 越南语   
  33. Cp1381           IBM OS/2, DOS 中华人民共和国 (PRC)   
  34. Cp1383           IBM AIX 中华人民共和国 (PRC)   
  35. Cp273            IBM 奥地利、德国   
  36. Cp277            IBM 丹麦、挪威   
  37. Cp278            IBM 芬兰、瑞典   
  38. Cp280            IBM 意大利   
  39. Cp284            IBM 加泰罗尼亚语/西班牙、拉丁美洲西班牙语   
  40. Cp285            IBM 英国、爱尔兰    
  41. Cp297            IBM 法国   
  42. Cp33722          IBM-eucJP - 日语 (5050 的超集)   
  43. Cp420            IBM 阿拉伯   
  44. Cp424            IBM 希伯莱   
  45. Cp437            MS-DOS 美国、澳大利亚、新西兰、南非   
  46. Cp500            EBCDIC 500V1   
  47. Cp737            PC 希腊   
  48. Cp775            PC 波罗的语   
  49. Cp838            IBM 泰国扩展 SBCS   
  50. Cp850            MS-DOS Latin-1  
  51. Cp852            MS-DOS Latin-2  
  52. Cp855            IBM 斯拉夫语   
  53. Cp857            IBM 土耳其语   
  54. Cp860            MS-DOS 葡萄牙语   
  55. Cp861            MS-DOS 冰岛语   
  56. Cp862            PC 希伯莱   
  57. Cp863            MS-DOS 加拿大法语   
  58. Cp864            PC 阿拉伯语   
  59. Cp865            MS-DOS 日尔曼语   
  60. Cp866            MS-DOS 俄语   
  61. Cp868            MS-DOS 巴基斯坦语   
  62. Cp869            IBM 现代希腊语   
  63. Cp870            IBM 多语种 Latin-2  
  64. Cp871            IBM 冰岛语   
  65. Cp874            IBM 泰国语   
  66. Cp875            IBM 希腊语   
  67. Cp918            IBM 巴基斯坦(乌尔都语)   
  68. Cp921            IBM 拉脱维亚、立陶宛(AIX, DOS)   
  69. Cp922            IBM 爱沙尼亚 (AIX, DOS)   
  70. Cp930            与 4370 UDC 混合的日语,5026 的超集   
  71. Cp933            与 1880 UDC 混合的韩文,5029 的超集   
  72. Cp935            与 1880 UDC 混合的简体中文主机,5031 的超集    
  73. Cp937            与 6204 UDC 混合的繁体中文,5033 的超集   
  74. Cp939            与 4370 UDC 混合的日语拉丁字母,5035 的超集   
  75. Cp942            日语 (OS/2),932 的超集    
  76. Cp948            OS/2 中文(台湾),938 超集   
  77. Cp949            PC 韩文   
  78. Cp950            PC 中文(香港、台湾)   
  79. Cp964            AIX 中文(台湾)   
  80. Cp970            AIX 韩文   
  81. EUCJIS           JIS, EUC 编码、日语   
  82. GB2312           GB2312, EUC 编码、简体中文   
  83. GBK              GBK, 简体中文   
  84. ISO2022CN        ISO 2022 CN, 中文   
  85. ISO2022CN_CNS    ISO-2022-CN 形式的 CNS 11643,繁体中文    
  86. ISO2022CN_GB     ISO-2022-CN 形式的 GB 2312,简体中文   
  87. ISO2022KR        ISO 2022 KR, 韩文   
  88. JIS              JIS, 日语   
  89. JIS0208          JIS 0208, 日语   
  90. KOI8_R           KOI8-R, 俄语   
  91. KSC5601          KS C 5601, 韩文   
  92. MS874            Windows 泰国语   
  93. MacArabic        Macintosh 阿拉伯语   
  94. MacCentralEurope Macintosh Latin-2  
  95. MacCroatian      Macintosh 克罗地亚语   
  96. MacCyrillic      Macintosh 斯拉夫语   
  97. MacDingbat       Macintosh Dingbat   
  98. MacGreek         Macintosh 希腊语   
  99. MacHebrew        Macintosh 希伯莱语   
  100. MacIceland       Macintosh 冰岛语   
  101. MacRoman         Macintosh 罗马语   
  102. MacRomania       Macintosh 罗马尼亚语   
  103. MacSymbol        Macintosh 符号   
  104. MacThai          Macintosh 泰国语   
  105. MacTurkish       Macintosh 土耳其语   
  106. MacUkraine       Macintosh 乌克兰语   
  107. SJIS             Shift-JIS, 日语   
  108. UTF8             UTF-8 
阅读(1480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~