摘要: 可以看到該命令對于英文字符,數字不會轉換而是直接輸出,而對于每個中文字符則轉換成以\u開頭的4個16進制數字。
通常情況下,如果要進行字符的逆轉換,-encoding encoding_name這個參數都會配合-reverse出現。在上面的例子中因為本地系統是中文操作系統,所以即便沒有指定-encoding也可以正確地從unicode ---》GBK。如果是在英文平臺下由于默認字符集是ISO-8859-1,那么這個時候如果不指定則轉換出來的將是?了。
閱讀全文
posted @
2010-02-23 18:41 Paul Lin 閱讀(885) |
評論 (0) |
編輯 收藏
摘要: 可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進制形式,一種是16進制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用進行轉義,在java文件中則使用\u進行轉義。
閱讀全文
posted @
2010-02-23 16:48 Paul Lin 閱讀(2126) |
評論 (2) |
編輯 收藏
摘要: 在這個專題的第一篇文章【Java基礎專題】編碼與亂碼(01)---編碼基礎 開頭,我們就已經介紹了這個規則:
①得到每個字符的2進制GBK編碼
②將該16進制的GBK編碼轉換成2進制的字符串(2個字節)
③分別在字符串的首位插入110,在第9位插入10,在第17位插入10三個字符串,得到3個字節
④將這3個字節分別轉換成16進制編碼,得到最終的UTF-8編碼。
閱讀全文
posted @
2010-02-22 23:00 Paul Lin 閱讀(37031) |
評論 (11) |
編輯 收藏
摘要: 謹慎地使用getBytes(NAME_OF_CHARSET)和new String(bytes, NAME_OF_CHARSET),除非你很清楚的知道原始的字符編碼和傳輸協議使用的編碼。
推薦使用基于服務器的配置、過濾器設置request/response的characterEncoding、content type屬性。還有就是JSP頁面的pageEncoding屬性、HTML meta元素的content type屬性。盡量避免頻繁的在代碼中進行字符串轉碼,即降低了效率又增加了風險
閱讀全文
posted @
2010-02-22 17:39 Paul Lin 閱讀(3042) |
評論 (4) |
編輯 收藏
摘要: 這個方法再次證明了String的getBytes()方法的危險性,如果我們使用new String(str.getBytes(), encoding)對字符串進行重新編碼解碼時,我們一定要清楚str.getBytes()方法返回的字節數組的長度、內容到底是什么,因為在接下來使用新的encoding進行編碼解碼時,Java并不會自動地對字節數組進行擴展以適應新的encoding。而是按照新的編碼方法直接對該字節數組進行解析。
于是結果就像上面的例子一樣,同樣是4個原始字節,有些每2個一組進行解析,有些每個一組進行解析,有些每3個一組進行解析。其結果就只能看那種編碼方式合適了。
閱讀全文
posted @
2010-02-22 17:18 Paul Lin 閱讀(7102) |
評論 (2) |
編輯 收藏
摘要: 不要輕易地使用或濫用String類的getBytes(encoding)方法,更要盡量避免使用getBytes()方法。因為這個方法是平臺依賴的,在平臺不可預知的情況下完全可能得到不同的結果。如果一定要進行字節編碼,則用戶要確保encoding的方法就是當初字符串輸入時的encoding。
閱讀全文
posted @
2010-02-22 16:53 Paul Lin 閱讀(4600) |
評論 (1) |
編輯 收藏
摘要: Unicode到UTF-8的轉換:Unicode的16進制編碼<-->對應的2進制編碼<-->UTF-8規范的2進制編碼<-->UTF-8規范的16進制編碼
也就是說,假如我們需要從磁盤文件、數據庫記錄、網絡傳輸一些字符,保存到Java的變量中,要經歷由bytes-->encode字符-->Unicode字符的轉換(例如new String(bytes, encode));而要把Java變量保存到文件、數據庫或者通過網絡傳輸,系統要做一個Unicode字符-->encode字符-->bytes的轉換(例如String.getBytes([encode]))
閱讀全文
posted @
2010-02-16 23:23 Paul Lin 閱讀(3681) |
評論 (3) |
編輯 收藏
在天涯論壇搞到的,要感謝提供這個攻略的網友“海南小椰妹”,不過話說回來,不知道看完這篇攻略,你還有沒有興趣去海南三亞了。有時候旅游就是沖著未知的前方而去的,如果什么都攻略了那就感覺沒有啥意外和驚喜了。
再次感謝一下這個海南小椰妹!
海南三亞旅游攻略
posted @
2010-01-27 15:33 Paul Lin 閱讀(341) |
評論 (0) |
編輯 收藏
摘要: Informa不僅提供了對不同版本的RSS Feed source的讀入和解析,同樣也提供了將channel object導出為不同協議版本的XML文件的功能。這個功能是通過exporters包下的各個導出類來完成的。目前僅支持對RSS協議的導出,不支持Atom協議、OPML協議的導出。
閱讀全文
posted @
2010-01-04 10:15 Paul Lin 閱讀(406) |
評論 (0) |
編輯 收藏
摘要: OPML(Outline Processor Markup Language)協議正是用于解決這樣問題的。利用OPML協議,我們可以通過閱讀器把已經訂閱的頻道導出為OPML協議規定的格式,從而作為
一個文件分享出去。
閱讀全文
posted @
2010-01-02 20:56 Paul Lin 閱讀(345) |
評論 (0) |
編輯 收藏