作者 lihgong ( )標題 [心得] UNICODE時間 Mon Nov 6 13:26:44 2023
寫嵌入式軟體,離人類世界遙遠,我只知道英文字ASCII code是1byte
小時候用倚天中文,BIG5編碼每個字2byte
UNICODE似乎是2byte,可以表示全世界的文字,矇矇懂懂
閱讀Joel On Software的第四章
https://www.books.com.tw/products/0010467041
博客來-約耳趣談軟體:來自專案管理的現場實錄
書名:約耳趣談軟體:來自專案管理的現場實錄,原文名稱:Joel On Software,語言:繁體中文,ISBN:9789866348341,頁數:384,出版社:悅知文化,作者:Joel Spolsky,譯者:梅普華,出版日期:2010/04/22,類別:電腦資訊 ...
這篇文章也可以在這裡看到
https://www.cnblogs.com/AlphaAI/articles/3960296.html
----
原來UNICODE有個Code Point的概念
制定(橋)出這張code point的前輩,真的是偉大的成就
人類終於有一個共同的表示法,紀錄每個字
所以用BIG5編碼的文件,可以讀入以後,"DECODE"成上述的編碼(我覺得是UCS2)
在wchar_t的domain (u16)做字串處理
最後儲存的時候,再"ENCODE"成其他格式,例如UTF-8
之前用Python的UNICODE感覺encode/decode難以理解
現在總算搞懂UTF-8是什麼,整理一份note記下來
https://lihgong.blogspot.com/2023/11/utf-8-unicode-utf-32-big5.html
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.100.151 (臺灣)
※ 作者: lihgong 2023-11-06 13:26:44
※ 文章代碼(AID): #1bI7aMfe (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1699248406.A.A68.html
推 saladim: 推 當初直覺該encode怎麼叫作decode 傻了一陣子 ORZ4F 11/07 02:21
→ ybite: Unicode 目前已經快破15萬字 無法塞進2byte了
因此UTF-16定義Surrogate Pair來解決(一個字32bit)
Python 2的時候str是ASCII 後來新增了unicode 型態
Python 3 其中一個大改就是str 一定是一串Unicode文字
(unicode扶正str)需要轉成特定編碼再.encode('utf-8')encode出來的是bytes
然後傳統編碼 如big5 就是要建一張大表對應Unicode
也由於各種歷史原因 其實這個對應並沒有很完全做到1:1
如PTT的Big5日文 後來很長時間是用由but維護的「社群標準」Unicode補完計畫來當對應表
直到後來PTT內建UTF-8編碼輸出模式後才解決很多問題
每個語言或每個作業系統都有自己內部存Unicode的規格7F 11/07 17:32
--