`
凤凰山
  • 浏览: 148182 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

java 编码转换工具 native2ascii (中文与Unicode等互转)使用小结

阅读更多

      同事在开发项目时使用了eclipse国际化插件,他的目的就是处理乱码,这样一来,他输入中文,插件会给他自动转换为Unicode编码,形如:“\u51fa\u54c1\”,总监审查代码时看到这些异样符合颇为生气,说代码可读性差,要他改回来。还好他的中文都写在ApplicationResources_zh_CN.properties里面,问我有好方法没,呵呵,其实sun早就搞定了,用native2ascii 命令,不到1秒搞定。下面也总结下 native2ascii,这哥们真的蛮强地。

      native2ascii 当然就是一个存在与jdk 的bin 目录下的native2ascii.exe文件了,你得把bin目录整到你环境 变量path里去,这不扯淡了,直奔主题:

   

native2ascii [options] [inputfile [outputfile]]

 
     查官方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 

  

     (备注:其实是  native2ascii -encoding Unicode a.txt   ,因为java默认是unicode编码,故略写了)

结果如下图1所示: 


                                    

                                                       图1:将中文转unicode

2、将中文文件a.txt 转换成Unicode编码后,输出到目标文件b.txt中:
 
  

native2ascii a.txt b.txt 

 

结果如下图2所示:


                                

                                  图2:将文件转换为unicode后输出到目标文件

 

3、将中文文件转换为其他编码,如通用的 iso8859-1,输出到iso.txt :

   

native2ascii -encoding ISO8859-1 a.txt iso.txt 

 

    结果如下图3:


                          

                                             图3:将中文文件转换为iso8859-1格式

     同理,你可以转换为gbk,utf-8等,但在这里的编码必须是支持的编码,了解更多支持的编码请查阅官方文档:

     

            http://download.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html

 

 

4、使用-reverse命令,将Unicode编码逆转为本地编码,输出在控制台:

 

    

 native2ascii -reverse b.txt

 

结果:

      
                 

 

5、使用-reverse -encoding encoding_name 将其他形式编码转换为本地编码


    

 native2ascii -reverse  -encoding ISO8859-1  iso.txt

结果:



  

 

说明:    因为我们在3中使用了-encoding命令来指定输出文件的编码为iso8859-1,就不再是系统默认的Unicode编码了,所以,在要把它转换为本地编码时,需要给它赋编码。如果不给他赋-encoding命令,而直接使用如下命令:

      

native2ascii -reverse  iso.txt  

 我们将看到结果如下:
 
                   

跟输入文件iso.txt里面的内容一样,没有转换过来。

 

 

总结:

               要将一个本地编码文件换为其他格式编码,(形如:   你好 --->\u4f60\u597d )采用

        

 native2ascii -encoding encoding_name  inputfile 

 

              要将其他编码格式的文件转换为本地编码,( 形如:\u4f60\u597d -->你好)采用:

 

native2ascii  -reverse -encoding encoding_name inputfile

 

因为 java 默认是Unicode编码,

 

              故“ native2ascii  inputfile”  命令等价于“ native2ascii -encoding Unicode inputfile”,          

              

      " native2ascii -reverse inputfile  " 等价于 native2ascii  -reverse -encoding Unicode inputfile

 

所以,平时在使用中如果默认的话,都把 -encoding encoding_name 参数省去,以示简洁。  
  


 

 

 

 

 

  • 大小: 4.9 KB
  • 大小: 7.4 KB
  • 大小: 10.6 KB
  • 大小: 4.7 KB
  • 大小: 6.9 KB
  • 大小: 7.8 KB
分享到:
评论

相关推荐

    native2ascii图形工具

    在Java中,所有的字符串都是以Unicode编码存储的,因此当需要处理包含其他编码(如ISO-8859-1或GB2312等)的文本时,`native2ascii`就显得非常有用。 在图形界面下,`native2ascii`通常并不直接提供图形工具,而是...

    native2ascii资源文件编码转换命令

    native2ascii资源文件编码转换命令

    易语言native和ascii转换 易语言编码转换

    易语言native和ascii转换,易语言编码转换,属于进阶教程源码,编码转换

    native2ascii简介

    `native2ascii` 是Sun Java SDK中的一个实用工具,主要用于将包含非ASCII字符的文本文件(如`.txt`、`.ini`、`.properties`、`.java`等)转换为Unicode编码格式。在软件开发过程中,特别是在处理国际化(i18n)需求...

    Native2Ascii互转换工具

    用C#编写的Native和Ascii转换工具,这只是用几分钟写的初版. "设置"按钮还没有想好添加什么功能. 目前程序是置顶的,窗体大小可以改变. 现在只有文本框内容转换,后续会添加文件转换和批量文件转换. 有什么建议可以写在...

    基于netbeans下面有界面操作的编码转换工具native2ascii

    这个是一个基于netbeans下开发的有操作界面的编码转换工具,其中只是将java自带的native2ascii工具做了一次封装,让其具有方便的界面操作,它可以实现将你想要转换的文件/文件夹拖入输入框,又可以通过设置你机子上...

    native2ascii 命令的使用

    `native2ascii`命令是Java开发中用于处理非ASCII字符的一种工具,主要用于将含有非英文字符(如中文、日文等)的文本文件转换为Unicode编码的ASCII格式,以便Java虚拟机(JVM)能够正确识别和处理。这个命令对于国际...

    native2ascii.exe java的转码工具

    2. 字符串常量:当Java代码中需要硬编码包含非ASCII字符的字符串时,可以先使用`native2ascii.exe`转换,然后在代码中直接引用转换后的Unicode转义序列。 3. 文本数据处理:在处理包含非ASCII字符的数据时,可以...

    native2ascii.exe

    在Java平台上,由于Java源代码和资源文件默认使用ASCII编码,因此当遇到非ASCII字符时,就需要使用像`native2ascii.exe`这样的工具进行转换。 在描述中提到,`native2ascii.exe`依赖于`java.dll`动态链接库和其他...

    易语言汉字和ASCII码之间的转换

    1. **汉字转ASCII**:当需要将汉字转换为ASCII码时,易语言会先将汉字编码(如GBK或UTF-8)转换为对应的Unicode编码,因为ASCII码是Unicode的一部分。然后,对于每个Unicode码点,如果其值小于128(即在ASCII范围内...

    HTA版资源文件编码转换器native2ascii

    标题中的“HTA版资源文件编码转换器native2ascii”指的是一个基于HTML应用程序(HTML Application,简称HTA)的工具,用于将Java的资源文件从一种编码格式转换为另一种,特别是涉及国际化(i18n)时需要进行的ASCII...

    Unicode码转中文和中文转Unicode码的最简便的方法

    中文转Unicode码和Unicode码转中文的过程在Java环境下可以通过`native2ascii`工具轻松实现,这个工具是Java开发工具包(JDK)的一部分。 **中文转Unicode码**: 1. 首先,你需要确保已经安装了Java JDK。JDK包含了...

    native2ascii

    ### Native2Ascii:Java字符编码转换工具的深入解析与应用 `Native2Ascii`是Java开发工具包(JDK)中的一个实用程序,主要用于字符编码的转换,特别在处理资源文件(如`.properties`文件)时,能有效地解决因字符...

    native2ascii工具

    native2ascii工具,不需要在命令行的转换了

    native2ascii图形界面工具

    在Java开发中,由于Java源代码只支持ASCII字符集,但某些资源文件(如属性文件)可能包含本地化的非ASCII字符,这时就需要使用`native2ascii`工具将这些字符转换为可被Java理解的转义序列。 描述中的“简单易用”...

    在线native2ascii。方便很多

    在Java开发中,native2ascii工具是用于处理非ASCII字符的,特别是处理包含特殊字符(如中文、日文等)的资源文件时,需要将其转换为ASCII编码以便Java虚拟机可以正确读取。这个在线版本的工具使得开发者无需在本地...

    文字编码转换工具

    本文将深入探讨“文字编码转换工具”的重要性、原理以及它支持的各种编码格式,如Native、Unicode(包括UTF-8)等。 首先,让我们了解什么是文字编码。在计算机中,文字是以二进制的形式存在的,而文字编码就是将...

Global site tag (gtag.js) - Google Analytics