Re: 想請教一個編碼的問題..

看板java作者 (._.)時間18年前 (2007/04/19 18:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
你要知道, 在電腦裡面的東西都是 0 (2進位) 或 1 (2進位). 都不是給人看的東西, 要人去定義說什麼是什麼, 那這些 0101 (2進位) 的東西才會有意義. 好, 問題來了, 今天我自己定義一套 1~26 (10進位) 是 A~Z, 別人要怎麼知道說我儲存的 000111101010 (2進位) 是什麼鬼東西? 所以我要把編碼明確的寫好 000001 (2進位) 是什麼, 000010 (2進位) 是什麼. 然後還要給這個編碼表一個名字, 可能不會是我給的. 別人再運用這些規則就可以把這些 000001 (2進位) 解讀成 A 顯示在螢幕上. 如果這個部分你無法理解, 請用任何可以顯示 16 進位的編輯器 (例:UltraEdit) 去用 16 進位模式看看文字原始的面貌. 好了, 那有了 A~Z, 就夠了嗎? 日本有自己的 50 音 (JIS), 韓國有圈圈直線, 對岸是簡體字, 我們是繁體字. 這些難道當初發明電腦的人會去幫你編好那些碼嗎? 不可能嘛. 所以大家就會自行去定義 0101 來把自己國家特殊語言編碼描述出來. 不然電腦只會顯示英文有意義嗎? 我只打英文給你看你看的懂嗎? 但是沒有一個共通的協定, 就會撞嘛. 我定義 1~26 (10進位) 是 A~Z, 人家 ASCII 卻說 065~090 (10進位) 是 A~Z 那預設用 ASCII 來讀我自己亂寫的編碼過檔案, 只會出現一堆看不懂的東西而已 所以後來才會有 Unicode 或 UTF-8 之類的東西.. 現在大家都學乖了, 我要讓你看懂, 我們就先講好 我在檔案開頭說這是什麼檔案, text/html 代表的就是一般的平文, 不是什麼圖片或程式, 那個編碼又是不一樣的東西. 然後就算是平文, 也不是所有編碼都一樣, 我還是要講他是 ASCII, Big5..etc. 那你來讀我的檔案, 你先看過檔案開頭, 你就不會亂解一通. 光中文就可以用 Unicode, CNS11634 (大概吧?), Big-5...etc 等等去解讀. 那用不同的編碼去解讀通常會有不同的結果. 總之, 在電腦裡面的都是 0101 (2進位), 要看懂就是要定義他是什麼. 編碼表就像字典檔一樣, 可以把那些 0101 (2進位) 變成文字. 但是字典也有英文字典德文字典法文字典...etc 所以翻回來的結果自然也會不同. ※ 引述《johnkuokuo@kkcity.com.tw ( )》之銘言: : 有一個問題一直困擾我很久,想請問一下各位程式的高手 : 最近在學jsp網頁的時候,常常會遇到編碼的問題 : 比如說..<%@page contentType="text/html;charset=Big5"%> : 這一行好了.. : 雖然書上有解釋,這一行的內容是啥 : 大概是這樣說的,此jsp網頁的內容設定為text/html格式,編碼方式為中文big5碼 : 可是我還是有看沒董.. : 還有類似像這樣的敘述...request.setCharacterEncoding("big5"); : 我也是有看沒董.. : 我對jsp的一些語法,使用方式..包括連接資料庫的概念都具備了.. : 可是獨獨對編碼的方式,還有我看網頁上很多人都有發表一些有關於 : 處理資料庫中文輸出變成亂碼的文章... : 還是有看沒董.. : 因為我並非本科系出身..對程式語言的編碼,以及什麼是編碼也好像一知半董 : 有沒有人可以解釋一下...有關於 : 1.什麼是編碼 : 2.為什麼需要編碼 : 3.<%@page contentType="text/html;charset=Big5"%> : request.setCharacterEncoding("big5");這兩行的意義到底是啥 : 4.為啥部處理編碼問題,會有中文變亂碼的情形 : 謝謝.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.225.194
文章代碼(AID): #169qf5by (java)
文章代碼(AID): #169qf5by (java)