<分区>
线程“Size of wchar_t* for surrogate pair”显示,保存 wchar_t 值所需的内存大小可能不同,因为它可能需要更多空间来编码某些字符(代理项对)。这使我想到了以下问题:然后如何沿着 wchar_t 值数组导航?因为我现在不能仅将当前地址递增或递减 wchar_t 的固定大小。
更正:“然后我如何沿着 wchar_t 值数组导航”的意思是您如何在可能由可变数量的 wchar_t 值表示的代码点之间导航。
<分区>
线程“Size of wchar_t* for surrogate pair”显示,保存 wchar_t 值所需的内存大小可能不同,因为它可能需要更多空间来编码某些字符(代理项对)。这使我想到了以下问题:然后如何沿着 wchar_t 值数组导航?因为我现在不能仅将当前地址递增或递减 wchar_t 的固定大小。
更正:“然后我如何沿着 wchar_t 值数组导航”的意思是您如何在可能由可变数量的 wchar_t 值表示的代码点之间导航。
最佳答案
不要使用 wchar_t
对 Unicode 字符串进行操作。说真的,只是不要。正如您已经观察到的,wchar_t
对象和 Unicode 代码点之间没有一对一的对应关系。使用 ICU 等库来操作 Unicode 文本。
关于c++ - 索引 wchar_t 数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25392069/