gpt4 book ai didi

c++ - 为什么unicode编码需要函数wsetlocale()?

转载 作者:行者123 更新时间:2023-11-30 04:52:46 28 4
gpt4 key购买 nike

我了解到 Unicode 可以区分许多用于其他语言(例如中文)的字符。然后,如果我们决定编码,例如 Utf-16,我认为不需要设置语言环境。但实际上并非如此。 _wsetlocale() 即使是 Unicode 也需要。我想知道为什么。

_wsetlocale(LC_ALL, L"korean"); 
wchar_t a = L'개';
wcout << a << endl;

像这样。我设置的字符集不是 MBCS,而是 Unicode。为什么我必须为 unicode 设置语言环境?

最佳答案

主要原因是要与 wcscasecmp 等库函数进行不区分大小写的字符串比较.此外,使用 strcoll 可能会以不同方式评估某些字符串。和 wcscoll 库函数比传统的 strcmp 和 wcscmp 函数。此答案的更多详细信息 here .

有关语言环境如何影响 c 和 c++ 运行时的更多详细信息,请参阅 setlocale 的手册页.

关于c++ - 为什么unicode编码需要函数wsetlocale()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54140046/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com