[問題] Big5跟UTF-8不需要考慮endian跟相容ASCII有關嗎?
大家好
我對於 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