作者 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及字元集必備知識(沒有藉口!) [转载,网址见下方] - AlphaAI - 博客园 作者:周思博 (Joel Spolsky)譯:Paul May 梅普華Wednesday, October 08, 2003屬於Joel on Software, tag嗎?你知道的,就是那個應該放 ...

 


----


原來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
wsad50232: 熱心推1F 11/06 16:42
now99: 推2F 11/06 23:40
wuyiulin: 有料分享就推3F 11/06 23:41
saladim: 推 當初直覺該encode怎麼叫作decode 傻了一陣子 ORZ4F 11/07 02:21
geoege022702: 推推推5F 11/07 11:40
ToastBen: 推6F 11/07 15:49
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

--
作者 lihgong 的最新發文:
點此顯示更多發文記錄