本文為核心技術三部曲最後一篇(前兩篇:Windows Sockets:阻塞、Windows Sockets:位元組順序),說明跨編碼字串傳輸的轉換處理。使用 CAsyncSocket 需自行管理;使用 CSocket 搭配 CArchive 則透過 CString 自動處理。
| 方案 | 轉換責任 | 適用場景 |
|---|---|---|
| CAsyncSocket | 開發者自行實作轉換邏輯 | 需精細控制、非 MFC 環境、特殊編碼需求 |
| CSocket + CArchive | CString 內建功能自動處理 | MFC 應用程式雙端通訊、標準 Unicode/MBCS/ANSI 互轉 |
CArchive 透過 CString 的建構函式與轉換運算子,在序列化/反序列化過程中自動完成字元集轉換。開發者無需手動呼叫 MultiByteToWideChar、WideCharToMultiByte 等 API。
提示: 詳細轉換 API 與參數請參閱 Platform SDK 中的 Windows Sockets 規格文件。