當前位置:成語大全網 - 書法字典 - 如何將屬性中的所有unicode編碼轉換成中文字符

如何將屬性中的所有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

結果還是沒有轉碼。

從結果可以得出結論,對於純數字和字母的文本類型,轉碼前後的內容是相同的。