[問題] Big5跟UTF-8不需要考慮endian跟相容ASCII有關嗎?

看板Programming作者 (洞房不敗)時間17年前 (2009/01/26 14:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好 我對於 Big5 似乎不需要考慮 endian 這點感到疑惑,想請教一下。 -- 比如AB兩個字,其 ASCII Code 為 41 42 (16進位),而 Unicode codepoint 為 U+0041 跟 U+0042。 如果 Little Endian 的電腦存一份內容為AB的文件,編碼成UTF16,因為 UTF16 基本單位 是 2 Bytes,所以不考慮BOM情況下,內容最後會成 41 00 42 00 (16進位) 當傳送到 Big Endian 的電腦時,解讀出來的內容就變成 U+4100 U+4200 兩字,而非AB -- 我的問題是,Big5也以 2 Bytes 為一個字的基本單位,但似乎不需要考慮endian。這是 因為Big5向下相容ASCII,所以CPU只會當成一堆ASCII去存,跟UTF-8一樣,基本單位變成 1個byte 才可以不用考慮endian? 等到開啟文件內容,比如為 A7 41 41 (16進位) 時,記事本逐一搜尋發現A7大於ASCII 理論上最大的7F時,才更改判別此文件是所謂的 DBCS?(這我不太懂,不確定) 然後因為Windows當時設定,在控制台->地區及語言選項->進階->非Unicode程式的語言 裡面是設成中文(台灣),所以才進一步判定為Big5編碼,並且顯示出繁體中文「你A」來 整個的流程、原理是這樣嗎? -- 另外有些不支援Unicode的軟體,平常只能讀英文及繁體中文的目錄,但是把「非Unicode 程式的語言」這個設定改成韓文後,就能開啟韓文命名的目錄。我想查這部份的資料, 為什麼會有這種狀況,以及要如何改善,想請教有什麼關鍵字? 謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.136.176
文章代碼(AID): #19VLmbZU (Programming)