摘要: 可以看到該命令對于英文字符,數(shù)字不會轉(zhuǎn)換而是直接輸出,而對于每個中文字符則轉(zhuǎn)換成以\u開頭的4個16進制數(shù)字。
通常情況下,如果要進行字符的逆轉(zhuǎn)換,-encoding encoding_name這個參數(shù)都會配合-reverse出現(xiàn)。在上面的例子中因為本地系統(tǒng)是中文操作系統(tǒng),所以即便沒有指定-encoding也可以正確地從unicode ---》GBK。如果是在英文平臺下由于默認字符集是ISO-8859-1,那么這個時候如果不指定則轉(zhuǎn)換出來的將是?了。 閱讀全文 摘要: 可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進制形式,一種是16進制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用進行轉(zhuǎn)義,在java文件中則使用\u進行轉(zhuǎn)義。 閱讀全文 摘要: 在這個專題的第一篇文章【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ) 開頭,我們就已經(jīng)介紹了這個規(guī)則:
①得到每個字符的2進制GBK編碼
②將該16進制的GBK編碼轉(zhuǎn)換成2進制的字符串(2個字節(jié))
③分別在字符串的首位插入110,在第9位插入10,在第17位插入10三個字符串,得到3個字節(jié)
④將這3個字節(jié)分別轉(zhuǎn)換成16進制編碼,得到最終的UTF-8編碼。 閱讀全文 摘要: 謹慎地使用getBytes(NAME_OF_CHARSET)和new String(bytes, NAME_OF_CHARSET),除非你很清楚的知道原始的字符編碼和傳輸協(xié)議使用的編碼。
推薦使用基于服務(wù)器的配置、過濾器設(shè)置request/response的characterEncoding、content type屬性。還有就是JSP頁面的pageEncoding屬性、HTML meta元素的content type屬性。盡量避免頻繁的在代碼中進行字符串轉(zhuǎn)碼,即降低了效率又增加了風(fēng)險 閱讀全文 摘要: 這個方法再次證明了String的getBytes()方法的危險性,如果我們使用new String(str.getBytes(), encoding)對字符串進行重新編碼解碼時,我們一定要清楚str.getBytes()方法返回的字節(jié)數(shù)組的長度、內(nèi)容到底是什么,因為在接下來使用新的encoding進行編碼解碼時,Java并不會自動地對字節(jié)數(shù)組進行擴展以適應(yīng)新的encoding。而是按照新的編碼方法直接對該字節(jié)數(shù)組進行解析。
于是結(jié)果就像上面的例子一樣,同樣是4個原始字節(jié),有些每2個一組進行解析,有些每個一組進行解析,有些每3個一組進行解析。其結(jié)果就只能看那種編碼方式合適了。 閱讀全文 摘要: 不要輕易地使用或濫用String類的getBytes(encoding)方法,更要盡量避免使用getBytes()方法。因為這個方法是平臺依賴的,在平臺不可預(yù)知的情況下完全可能得到不同的結(jié)果。如果一定要進行字節(jié)編碼,則用戶要確保encoding的方法就是當初字符串輸入時的encoding。 閱讀全文 摘要: Unicode到UTF-8的轉(zhuǎn)換:Unicode的16進制編碼<-->對應(yīng)的2進制編碼<-->UTF-8規(guī)范的2進制編碼<-->UTF-8規(guī)范的16進制編碼
也就是說,假如我們需要從磁盤文件、數(shù)據(jù)庫記錄、網(wǎng)絡(luò)傳輸一些字符,保存到Java的變量中,要經(jīng)歷由bytes-->encode字符-->Unicode字符的轉(zhuǎn)換(例如new String(bytes, encode));而要把Java變量保存到文件、數(shù)據(jù)庫或者通過網(wǎng)絡(luò)傳輸,系統(tǒng)要做一個Unicode字符-->encode字符-->bytes的轉(zhuǎn)換(例如String.getBytes([encode])) 閱讀全文
一個文件分享出去。 閱讀全文
通常情況下,如果要進行字符的逆轉(zhuǎn)換,-encoding encoding_name這個參數(shù)都會配合-reverse出現(xiàn)。在上面的例子中因為本地系統(tǒng)是中文操作系統(tǒng),所以即便沒有指定-encoding也可以正確地從unicode ---》GBK。如果是在英文平臺下由于默認字符集是ISO-8859-1,那么這個時候如果不指定則轉(zhuǎn)換出來的將是?了。 閱讀全文 摘要: 可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進制形式,一種是16進制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用進行轉(zhuǎn)義,在java文件中則使用\u進行轉(zhuǎn)義。 閱讀全文 摘要: 在這個專題的第一篇文章【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ) 開頭,我們就已經(jīng)介紹了這個規(guī)則:
①得到每個字符的2進制GBK編碼
②將該16進制的GBK編碼轉(zhuǎn)換成2進制的字符串(2個字節(jié))
③分別在字符串的首位插入110,在第9位插入10,在第17位插入10三個字符串,得到3個字節(jié)
④將這3個字節(jié)分別轉(zhuǎn)換成16進制編碼,得到最終的UTF-8編碼。 閱讀全文 摘要: 謹慎地使用getBytes(NAME_OF_CHARSET)和new String(bytes, NAME_OF_CHARSET),除非你很清楚的知道原始的字符編碼和傳輸協(xié)議使用的編碼。
推薦使用基于服務(wù)器的配置、過濾器設(shè)置request/response的characterEncoding、content type屬性。還有就是JSP頁面的pageEncoding屬性、HTML meta元素的content type屬性。盡量避免頻繁的在代碼中進行字符串轉(zhuǎn)碼,即降低了效率又增加了風(fēng)險 閱讀全文 摘要: 這個方法再次證明了String的getBytes()方法的危險性,如果我們使用new String(str.getBytes(), encoding)對字符串進行重新編碼解碼時,我們一定要清楚str.getBytes()方法返回的字節(jié)數(shù)組的長度、內(nèi)容到底是什么,因為在接下來使用新的encoding進行編碼解碼時,Java并不會自動地對字節(jié)數(shù)組進行擴展以適應(yīng)新的encoding。而是按照新的編碼方法直接對該字節(jié)數(shù)組進行解析。
于是結(jié)果就像上面的例子一樣,同樣是4個原始字節(jié),有些每2個一組進行解析,有些每個一組進行解析,有些每3個一組進行解析。其結(jié)果就只能看那種編碼方式合適了。 閱讀全文 摘要: 不要輕易地使用或濫用String類的getBytes(encoding)方法,更要盡量避免使用getBytes()方法。因為這個方法是平臺依賴的,在平臺不可預(yù)知的情況下完全可能得到不同的結(jié)果。如果一定要進行字節(jié)編碼,則用戶要確保encoding的方法就是當初字符串輸入時的encoding。 閱讀全文 摘要: Unicode到UTF-8的轉(zhuǎn)換:Unicode的16進制編碼<-->對應(yīng)的2進制編碼<-->UTF-8規(guī)范的2進制編碼<-->UTF-8規(guī)范的16進制編碼
也就是說,假如我們需要從磁盤文件、數(shù)據(jù)庫記錄、網(wǎng)絡(luò)傳輸一些字符,保存到Java的變量中,要經(jīng)歷由bytes-->encode字符-->Unicode字符的轉(zhuǎn)換(例如new String(bytes, encode));而要把Java變量保存到文件、數(shù)據(jù)庫或者通過網(wǎng)絡(luò)傳輸,系統(tǒng)要做一個Unicode字符-->encode字符-->bytes的轉(zhuǎn)換(例如String.getBytes([encode])) 閱讀全文
在天涯論壇搞到的,要感謝提供這個攻略的網(wǎng)友“海南小椰妹”,不過話說回來,不知道看完這篇攻略,你還有沒有興趣去海南三亞了。有時候旅游就是沖著未知的前方而去的,如果什么都攻略了那就感覺沒有啥意外和驚喜了。
再次感謝一下這個海南小椰妹!
海南三亞旅游攻略
一個文件分享出去。 閱讀全文
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(21)
隨筆分類
- J2EE 框架(9)
- J2EE基礎(chǔ)(4)
- J2SE(43)
- Java 工具(5)
- Oracle Concept(4)
- Oracle SQL/PLSQL(9)
- Oracle 開發(fā)(13)
- Oracle 管理(4)
- Oracle 調(diào)優(yōu)
- Oracle 錯誤診斷
- RoR(19)
- UML(3)
- Unix / Linux(13)
- Web基礎(chǔ)(19)
- 其它技術(shù)(7)
- 感悟(3)
- 雜項(7)
- 架構(gòu)與性能(8)
- 模式與重構(gòu)(19)
- 灌水(8)
- 電影與音樂(16)
- 走過的路(1)
- 軟件過程與軟件方法(3)
- 陽光戶外(2)
- 項目管理(36)
隨筆檔案
- 2012年2月 (3)
- 2011年11月 (4)
- 2011年10月 (1)
- 2011年9月 (2)
- 2011年8月 (2)
- 2011年7月 (5)
- 2011年6月 (3)
- 2011年5月 (1)
- 2011年4月 (1)
- 2011年3月 (3)
- 2011年1月 (1)
- 2010年12月 (1)
- 2010年11月 (5)
- 2010年10月 (3)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年5月 (4)
- 2010年4月 (9)
- 2010年3月 (19)
- 2010年2月 (8)
- 2010年1月 (3)
- 2009年12月 (34)
- 2009年11月 (1)
- 2009年10月 (2)
- 2009年7月 (4)
- 2009年6月 (5)
- 2009年5月 (3)
- 2009年4月 (2)
- 2009年3月 (1)
- 2009年2月 (5)
- 2009年1月 (5)
- 2008年12月 (13)
- 2008年11月 (4)
- 2008年10月 (1)
- 2008年9月 (6)
- 2008年8月 (5)
- 2008年7月 (3)
- 2008年6月 (31)
- 2008年5月 (10)
- 2008年4月 (9)
- 2008年3月 (7)
- 2008年2月 (4)
- 2008年1月 (19)
BlogJava熱點博客
好友博客
搜索
最新評論

- 1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
- 666666666666666666666這幾天正在做個類似工程編碼出現(xiàn)錯誤
- --李
- 2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
- 不錯
- --阿斯蘭
- 3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
- 多謝分享
- --thx
- 4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
- 評論內(nèi)容較長,點擊標題查看
- --karl
- 5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
- 謝謝,幫了我大忙!
- --小龍