Java代碼
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, 你懂地,輸入文件。如果沒有輸入文件,你在控制檯輸入點字符串(如果native2ascii無參數執行,則會等待輸入)
outputfile,你更懂,輸出文件嘛。如果不輸的話,它會給你在控制檯打出結果。
最後,啥也不說了,來點實際的:
1、將一個全是中文的文本文件 a.txt (內容爲:“你好!” ,你可以用其他格式的文件) 轉爲 Unicode:
Java代碼
native2ascii a.txt
(備註:其實是 native2ascii -encoding Unicode a.txt ,因爲java默認是unicode編碼,故略寫了)
2、將中文文件a.txt 轉換成Unicode編碼後,輸出到目標文件b.txt中:
Java代碼
native2ascii a.txt b.txt
3、將中文文件轉換爲其他編碼,如通用的 iso8859-1,輸出到iso.txt :
Java代碼
native2ascii -encoding ISO8859-1 a.txt iso.txt
圖3:將中文文件轉換爲iso8859-1格式
同理,你可以轉換爲gbk,utf-8等,但在這裏的編碼必須是支持的編碼,瞭解更多支持的編碼請查閱官方文檔:
http://download.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html
4、使用-reverse命令,將Unicode編碼逆轉爲本地編碼,輸出在控制檯:
Java代碼
native2ascii -reverse b.txt
5、使用-reverse -encoding encoding_name 將其他形式編碼轉換爲本地編碼
Java代碼
native2ascii -reverse -encoding ISO8859-1 iso.txt
說明: 因爲我們在3中使用了-encoding命令來指定輸出文件的編碼爲iso8859-1,就不再是系統默認的Unicode編碼了,所以,在要把它轉換爲本地編碼時,需要給它賦編碼。如果不給他賦-encoding命令,而直接使用如下命令:
Java代碼
native2ascii -reverse iso.txt
我們將看到結果如下:
跟輸入文件iso.txt裏面的內容一樣,沒有轉換過來。
總結:
要將一個本地編碼文件轉換爲其他格式編碼,(形如: 你好 --->\u4f60\u597d )採用
Java代碼
native2ascii -encoding encoding_name inputfile
要將其他編碼格式的文件轉換爲本地編碼,( 形如:\u4f60\u597d -->你好)採用:
Java代碼
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 參數省去,以示簡潔