[Other]編碼補充(承上文)
發表完上文,就有人問我幾個問題,我就又上網查了一些資料,這邊再補充分享給大家:
Q1:什麼時候UTF-8會用到1個位元組、3個位元組、多個位元組呢?
請參考:編碼 UTF-8
我使用黑暗大提供的工具來解碼,驗證他上頭說的內容,確實是正確的,
推薦工具:中文編碼解析工具 Ver 1.3
ASCII碼可辨識的字元只需要1個位元組、歐語系的需要2個位元組、中日韓文需要3個位元組、4個位元組的我還沒是出來,不過試出來泰文是6個位元組,所以我相信還有其它語系的文字或符號是4-5位元組的。
Q2:Unicode一定是佔2個位元組嗎?
參考這篇:每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口!)
這篇裡頭講的蠻詳細的,挺有參考價值,Unicode其實不如我上一篇說的,永遠都只用2個位元組,根據測試,泰文在Unicode的編碼下佔4個位元組,仔細想想,也不值得驚訝,如果2個位元組就可以吃所有的文字跟符號,那又何必提供到6個位元組呢?
Q3:如果只存英文的話,存成UTF-8最省空間嗎?
如果只要存英文字的話,可以存成ANSI就好,反正沒有其它的Unicode字元,不過一般我們很少這樣錙銖必較,除非檔案大小與編碼處理的速度對你來說影響非常大的話。
雖然花了些時間看了一下,不過感覺還是有些地方觀念沒有完全搞清楚,如果有說錯的地方,請大家給予指正,我再多查一些資料來做驗證。
游舒帆 (gipi) 探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。 |