Java中的字符編碼

字符編碼
    java.lang和java.io包中的許多構造函數和方法在進行8位字節和16位Unicode字符間轉換時,都有一個指定所使用的字符編碼字符串參數。字符編碼由以下字符構成:
大寫字母'A'到'Z' ('/u0041'到'/u005a'),
小寫字母'a'到'z' ('/u0061'到'/u007a'),
數字'0'到'9' ('/u0030'到'/u0039'),
破折號'-' ('/u002d', 連接符-減號),
冒號':' ('/u003a', COLON), 
下劃線 '_' ('/u005f', LOW LINE).
    編碼名稱必須由字母或數字開頭,空串不是合法的編碼名稱。一個編碼可能有多個名字,其中一個是他的規範名字。規範名稱可以通過InputStreamReader和OutputStreamWriter類的getEncoding返回。關於更多字符編碼信息可以參考協議文檔RFC2278: IANA Charset Registration Procedures。
    每種Java平臺的實現要求支持下面的字符編碼。可以通過查閱發行文檔來看支持那些字符編碼:

US-ASCII     Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set
ISO-8859-1   ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
UTF-8        Eight-bit Unicode Transformation Format
UTF-16BE     Sixteen-bit Unicode Transformation Format, big-endian byte order
UTF-16LE     Sixteen-bit Unicode Transformation Format, little-endian byte order
UTF-16       Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output)

    每種Java虛擬機都有缺省的字符編碼,缺省編碼在虛擬機啓動期間就確定了,這依賴於虛擬機下層的操作系統的字符編碼。

    在調用方法時如果使用不被支持的字符編碼,則會拋出UnsupportedEncodingException。如public String(byte[] bytes,   String enc)  throws UnsupportedEncodingException

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章