当前位置:主页   - 电脑 - 程序设计 - JAVA
native2ascii一点用法
来源:网络   作者:   更新时间:2012-08-15
收藏此页】    【字号    】    【打印】    【关闭

  native2ascii命令的一种用法!

  在JDK文件中这样描述这个命令的:

  native2ascii Convert text to Unicode Latin-1.

  语法如下:

  native2ascii [options] [inputfile [outputfile]]

  具体的选项有:

  -reverse

  Perform the reverse operation: convert a file with Latin-1 and/or

  Unicode encoded characters to one with native-encoded characters.

  -encoding encoding_name

  Specify the encoding name which is used by the conversion procedure.

  The default encoding is taken from System property file.encoding. The

  encoding_name string must be taken from the first column of the table of

  supported encodings in the Supported Encodings document.

  -Joption

  Pass option to the Java virtual machine, where option is one of the

  options described on the reference page for the java application launcher.

  For example, -J-Xms48m sets the startup memory to 48 megabytes

  有时当我们反编译别人的代码的时候,会看到这样的代码句子,System.out.println("ConnectionPool--u521Du59CBu5316u6570u636Eu5E93u5

  F02u5E38==>>" + exception.toString());

  当然这里只是一个简单的打印出错信息的句子,我们可以用native2ascii命令将它转换成原本的中文的。

  做法如下:如有个文件名叫:Test.class.先用反编译工具将其反编译,我用的是DJ Java Jecompiler,反编译后的文件扩展名为:".jad"

  import java.io.PrintStream;
public class Test
{
public static void main(String args[])
   {
     String s =
"u770Bu770Bu6211u6D4Bu8BD5u7684u6548u679CuFF01";
     System.out.println((new
StringBuilder()).append("u5475u5475uFF1A").append(s).toString());
   }
}

  这是反编译后的文件。

  反编译后会有一个相应的文件产生。可能扩展名不会直接是".java",没关系,直接将反编译好的文件扩展名改为.java,如我这里,改为test.java。然后开启DOS,然后进入到相应的目录:如下:

  J:>

  J:>dir

  2004-11-11 10:10         588 Test.jad

  J:>

  将Test.jad改名为Test.java,然后用如下命令:

  J:>native2ascii -reverse -encoding gb2312 Test.java Test_gb2312.java

  结合上面讲的这个命令的几个选项来看,这里用到了两个选项:

  -reverse 和 -encoding ,-encoding的后面是指定要转换成的编码。我要将其显示为中文,所以我选用了gb2312,Test.java是刚才反编译后改名的文件,Test_gb2312.java就是转码过后的代码,用editplus打开看看Test_gb2312.java文件,会发现中文显示出来了,这就转码成功了,这个命令你用过了吗?

  呵呵,在命令行还可以实时转码,打开DOS输入native2ascii命令,回车,然后会有光标在闪,千万不要以为程序没执行完,光标闪是在等待你输入字符,切换到中文输入状态,输入,“java我爱你”后回车,会看到这样显示:“javau6211u7231u4f60"

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明