【发布时间】:2014-06-04 08:08:21
【问题描述】:
我有一个 Unicode 字符串存储在 CString 中,我需要知道这个字符串在 UTF-8 编码中占用的字节数。我知道 CString 有一个方法 getLength(),但它返回字符数,而不是字节数。
我尝试(除其他外)转换为 char 数组,但我得到(逻辑上,我猜)只有 wchar_t 的数组,所以这并不能解决我的问题。
明确我的目标。对于输入,让我们说"aaa" 我想要“3”作为输出(因为“a”在 UTF-8 中占用一个字节)。但是对于输入“āaa”,我希望看到输出“4”(因为 ā 是两个字节字符)。
我认为这一定是很常见的要求,但即使经过 1.5 小时的搜索和试验,我也找不到正确的解决方案。
我对 Windows 编程的经验很少,所以我可能遗漏了一些重要信息。如果您有这种感觉,请告诉我,我会添加您要求的任何信息。
【问题讨论】:
标签: c++ unicode utf-8 mfc c-strings