gpt4 book ai didi

c++ - 是否为 unicode 或不为 unicode

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:39 24 4
gpt4 key购买 nike

我正在从注册表中获取一个值。该值中可能包含双字节字符。我稍后必须通过网络传输它到 C# 客户端进行显示。 C# 都是 unicode。如果您将其称为非 unicode,该函数将返回 MBCS。

我应该使用什么?

string result = string(cbData);
RegQueryValueExA(h_sub_key, "DisplayName", NULL, NULL, (LPBYTE) &result[0], &cbData)

string result = string(cbData);
RegQueryValueExW(h_sub_key, L"DisplayName", NULL, NULL, (LPBYTE) &result[0], &cbData)

最佳答案

尽可能使用 Unicode 将使您的生活更轻松。注册表本身包含 Unicode 并在您使用 ReqQueryValueExA 时即时转换为 MBCS,为什么要进行不需要的转换?

从 UTF-16 转换为 UTF-8 可能对通过网络传输的信息有意义,但如果您控制连接的两端,则没有必要。

关于c++ - 是否为 unicode 或不为 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573200/

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