Re: [問題] big5 與 utf8 的使用經驗
※ 引述《pziyout (pziyout)》之銘言:
: 最近打算重寫一些程式,需要使用大量的中文字,正在煩惱是否要整個
: 使用 utf8 寬字串,請教有經驗的人是否可分享你的撰寫經驗。
UTF-8 != Unicode
這是最最最重要的大前提
你不會想要直接在程式裡處理 UTF-8 字串的
因為 UTF-8 的單一字元長度不同
寬字元的編碼在 Windows 和 POSIX 用的也不太一樣
Windows 用的是 UTF-16
(其實無法容納所有 Unicode 字元,但大部分字元都沒問題)
POSIX 用的是 UTF-32
還有你最好不要用
char * ns = "字串";
或是
wchar_t * ws = L"字串";
的方式直接在原始碼內寫上中文
(事實上原始碼內不該出現 ascii 範圍外的任何字元)
因為就是會有人搞不清楚他現在存檔用的是什麼編碼
(尤其是在Windows)
就算你百分之百確定你存的是 UTF-8
VC 的 cl.exe 仍然會用當前系統的 locale 編譯
保險的方法是你自已轉成 hex:
char * ns = "\xE6\xAD\xA3\xE9\xAB\x94\xE4\xB8\xAD\xE6\x96\x87";
再轉成寬字串,或是用 gettext 之類的工具
--
自High筆記(半荒廢)
http://legnaleurc.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.182.26.69
推
02/06 13:33, , 1F
02/06 13:33, 1F
→
02/06 13:34, , 2F
02/06 13:34, 2F
→
02/06 13:35, , 3F
02/06 13:35, 3F
→
02/06 13:35, , 4F
02/06 13:35, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 5 篇):