→ uranusjr:其實 QString 本身 dependecies 應該沒有很多(不考慮 04/19 16:00
→ uranusjr:locale 和 regex 之類有的沒的東西的話), 說不定可以抽 04/19 16:01
→ uranusjr:出來, 等有空來研究看看好了 04/19 16:01
→ uranusjr:說真的 QString 應該是我看過最好的 C 相關 Unicode 實作 04/19 16:02
→ buganini:UTF-8並沒有多複雜啊? 如果只是要正確斷字,很簡單就 04/19 17:30
→ buganini:如果是normalize/locale那塊,那大概也是call ICU 04/19 17:34
→ buganini:不是做在QT裡面 04/19 17:35
→ descent:有 qstring, 我才不想去用 icu, std::string 要是也能 04/19 17:46
→ descent:有 qstring 的能力, 那就太棒了 04/19 17:47
※ 編輯: descent (58.114.144.217), 04/19/2014 17:49:12
→ buganini:目測應該是永遠不會有吧,std::string是char based 04/19 17:49
→ uranusjr:std::string 根本只是 char array 的包裝而已, 別肖想了 04/19 17:52
推 buganini:正確作法應該是extend std::string加上UTF-8 specific 04/19 17:53
→ buganini:的function 04/19 17:53
→ uranusjr:如果要有真正的 string abstraction 目標當然就不是 UTF8 04/19 17:54
→ buganini:不過這樣效率也不好,真要處理字串還是解成wchar吧 04/19 17:54
→ uranusjr:而已, 很多編碼都有一些 quicks 要處理 04/19 17:55
→ uranusjr:寬字元也不是萬用解, 不要忘記 surrogatepairs 啊... 04/19 17:56
→ buganini:ㄟ 這就尷尬了 wchar有16bits也有32bits orz 04/19 17:58
→ buganini:32bits的話就算萬用了吧 04/19 17:59
→ uranusjr:32-bit 應該是夠用很長一段時間沒錯啦XD 04/19 18:04
→ buganini:目前有RFC 3629把上限擋在U+10FFFF應該夠用完這輩子了(?) 04/19 18:05
→ buganini:不對 他只擋了UTF-8的上限,沒有說unicode不能超過 04/19 18:08
→ buganini:雖然目前還沒超過,範圍內的空間也還綽綽有餘就是了 04/19 18:08
→ uranusjr:不過應該這輩子夠用了, 之後反正肯定不是我維護沒差(欸 04/19 18:13
→ descent:兩位大大對編碼真熟悉 04/19 18:17
推 buganini:補充一下,U+10FFFF也是UTF-16 surrogate pairs的上限 04/19 18:21
推 LPH66:我記得 unicode 就是因為 RFC 3629 擋住了才只定到 U+10FFFF 04/19 18:45
→ LPH66:唔, 應該反過來說, 因為 UTF-16 surrogate pairs 上限在那裡 04/19 18:47
→ LPH66:才有 RFC 3629 出來把 UTF-8 擋住的..不然 UTF-8 原本是支援 04/19 18:47
→ LPH66:全部的 32-bit 編碼空間的 (一直到 6 byte 長的編碼) 04/19 18:48
→ buganini:無限期支持淘汰UTF-16!!! 04/19 18:49
→ buganini:是個不上不下的東西啊… 04/19 18:49
推 Bencrie:QString 真的蠻好用的 XD 04/19 19:21
推 donkeychen:支持反對UTF-16 +1+1...... 04/21 11:37
推 donkeychen:之前在弄sqlite3時也有用過QString 04/21 11:41
→ donkeychen:因為 SQLite Database Browser 的source code就放Qt的 04/21 11:42