如何将属性中的所有unicode编码转换成中文字符

在命令行界面中使用native2ascii工具

1.将中文字符转换为Unicode:

c:\ Program Files \ Java \ JDK 1 . 5 . 0 _ 04 \ bin & gt;native2ascii

试验

\u6d4b\u8bd5

2.将Unicode转换为中文字符:

c:\ Program Files \ Java \ JDK 1 . 5 . 0 _ 04 \ bin & gt;native 2 ascii-反向

\u6d4b\u8bd5

试验

java自带的native2ascii.exe是一个很好的转码工具,在bin目录下。如果您的属性中有中文字符,您需要将它们转换成unicode。然后将包含汉字的属性复制到bin目录下,然后在cmd中输入bin目录,输入:Native 2 ascii-编码UTF-8语言-ext _ zh _ cn . properties . Native language-ext _ zh _ cn . properties就可以了。Language-ext_zh_CN.properties是一个转码后的文件。

在做Java开发时,经常会有一些乱码或文件无法正确识别或读取,比如validator使用的公共消息资源(属性)文件,需要用Unicode重新编码。原因是java的默认编码方式是Unicode,而我们的计算机系统编码往往是GBK等编码。解决了将系统的编码转换成java能正确识别的编码的问题。

1和native2ascii简介:native2ascii是sun java sdk提供的工具。用于编码其他文本文件(如*。txt,*。ini,*。属性,*。java等。)转换成Unicode编码。为什么需要转码?原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、通用码、单码)是计算机中使用的一种字符编码。它为每种语言中的每个字符设置了统一的、唯一的二进制代码,以满足跨语言、跨平台的文本转换和处理的要求。1990开始研发,1994正式公布。随着计算机工作能力的增强,Unicode在过去十年中得到了普及。(声明:Unicode编码定义来自互联网)。

2.Get native2ascii:安装jdk后,如果安装在windows上,jdk安装目录下会有一个bin目录,native2ascii.exe正好在其中。

3.native2ascii命令行的命名格式:

native 2 ascii-[选项][输入文件[输出文件]]

描述:

-[选项]:表示命令开关,有两个选项可供选择。

-reverse:将Unicode编码转换为本地编码或指定编码,否则将转换为本地编码。

-encoding encoding_name:转换为指定的编码,encoding_name是编码名称。

[输入文件[输出文件]]

Inputfile:表示输入文件的全名。

Outputfile:输出文件名。如果缺少此参数,它将被输出到控制台。

4.最佳实践:首先,将JDK的bin目录添加到系统变量path中。在磁盘下创建一个测试目录,在测试目录下创建一个zh.txt文件,文件内容为“Lava”,打开“命令提示符”,进入C:\test目录。可以按照说明一步一步来,注意编码的变化。

a:把zh.txt转换成Unicode代码,把文件输出到u.txt

native2ascii zh.txt u.txt

打开u.txt,上面写着“\u7194\u5ca9”。

b:把zh.txt转换成Unicode代码输出到控制台。

c:\ test & gt;native2ascii zh.txt

\u7194\u5ca9

可以看到,控制台输出“\u7194\u5ca9”。

c:把zh.txt转换成ISO8859-1代码,把文件输出到i.txt

native2ascii编码ISO8859-1 zh.txt i.txt

打开内容为“\u00c8\u00db\u00d1\u00d2”的i.txt文件。

d:将u.txt转换成本地代码,输出到文件u _ NV.txt。

native 2 ascii-reverse u . txt u _ NV . txt

打开u_nv.txt文件,内容是“熔岩”。

e:将u.txt转换成本地代码,输出到控制台。

c:\ test & gt;native2ascii -reverse u.txt

火山岩

可以看到,控制台输出“熔岩”。

f:将i.txt转换成本地代码,输出到i _ nv.txt。

native 2 ascii-反向i.txt i_nv.txt

打开文件i_nv.txt,内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样。换句话说,等于没转过来,或者是迷茫,不懂命名。。

g:将i.txt转换成GBK码,输出到i _ gbk.txt

native 2 ascii-反向编码GBK i.txt i_gbk.txt

打开文件i_gbk.txt,内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样。换句话说,等于没转过来,或者是迷茫,不懂命名。

h:将u_nv.txt转码为本地编码GBK,输出到控制台。

c:\ test & gt;native 2 ascii-反向编码ISO8859-1 i.txt

火山岩

从这个结果来看,目的达到了。i.txt的编码是ISO8859-1,内容转换成本地编码后是“熔岩”。从这里应该认识到,native2ascii -reverse命令中-encoding指定的编码是源文件的编码格式。native2ascii命令中的-encoding指定的编码是(生成的)目标文件的编码格式。这一点很重要!记住!!

继续探索,新建一个文件12a.txt,内容为“12axyz”。让我们看看纯字母数字编码会发生什么。

I:将纯字母数字文本文件12a.txt转换为Unicode编码。

native 2 ascii 12a . txt 12a _ NV . txt

打开文件12a_nv.txt,内容为“12axyz”。

继续测试并切换到ISO8859-1代码。

c:\ test & gt;本地ascii编码ISO8859-1 12a.txt

12 XYZ

结果还是没有转码。

从结果可以得出结论,对于纯数字和字母的文本类型,转码前后的内容是相同的。