使用native2ascii实现国际化及不同平台的移植

来源:互联网 发布:罗开元的淘宝店 编辑:程序博客网 时间:2024/05/24 05:31

对于不同编码,一直以来都是一个问题,对于我们来说就是中文乱码的问题,这是个什么学JAVA的人都会问上并遇上N次的问题,在编码C/S的JSP的程序的时候也会遇到,我们可以采用过滤器的方式,实现统一编码,以使其不会出现乱码,但是有些时候却又不适合采用过滤器,如将WINDOWS编写的JAVA程序拿到LINUX或者是UNIX系统上,多半是乱码,并且如果不熟悉或者是身边没有这些系统的高手,只有摇头叹头了。

现在有了这个东西,可以将其它非UNICODE编码转换成UNICODE的形式,移植到任何系统上都不会出现乱码的问题了,这个小程序在在JDK的bin目录下,使用语法是:

native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]

其中的-reverse是UNICDOE为当前系统所对应的编码,"-encoding 编码"表示将当前系统的指定编码转换为unicode,这个选项可以省略,默认为当前系统对应的编码,输入文件为源文件,输出文件是目标文件,如有一个test.properties,其中的内容为:

#This is a test
test=这是测试的中文原文

采用命令:native2ascii -encoding GBK test.properties testunicode.properties执行后,test

unicode.properties的内容如:

#This is a test
test=/u8fd9/u662f/u6d4b/u8bd5/u7684/u4e2d/u6587/u539f/u6587

移植到那个平台都不会变了。

再执行:native2ascii -reverse testunicode.properties test2.properties

可以看到test2.properties的内容为:

#This is a test
test=这是测试的中文原文

又还原为原来的编码了。

如果我们只有命令行打入命令native2ascii,这是系统会等你输入文字,然后在你按回车的时候以unicode回显,这种情况适合单个字符的转译。

native2ascii唯一不足的就是不能够对对整个目录进行统一编译,如果需要转译的文件比较多,得自己写一个循环文件了,总的来说已经不错了。

 

 

本文出自:冯立彬的博客



原创粉丝点击