gpt4 book ai didi

c++ - 如何将 ANSI 字节转换为 Unicode 字符串?

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

我有一个 vector<BYTE>表示字符串中的字符。我想将这些字符解释为 ASCII 字符并将它们存储在 Unicode (UTF-16) 字符串中。当前代码假定 vector<BYTE> 中的字符是 Unicode 而不是 ASCII。这适用于标准 ASCII,但不适用于扩展 ASCII 字符。这些字符需要使用通过 GetACP() 检索到的当前代码页进行解释。 .我将如何使用这些 ASCII 字符创建 Unicode (UTF-16) 字符串?

编辑:我相信解决方案应该与此处讨论的宏有关:http://msdn.microsoft.com/en-us/library/87zae4a3(v=vs.80).aspx我只是不确定实际的实现情况如何。

int ExtractByteArray(CATLString* pszResult, const CByteVector* pabData)
{
// place the data into the output cstring
pszResult->Empty();
for(int iIndex = 0; iIndex < pabData->GetSize(); iIndex++)
*pszResult += (TCHAR)pabData->GetAt(iIndex);

return RC_SUCCESS;
}

最佳答案

你应该使用 MultibyteToWideChar将该字符串转换为 unicode

关于c++ - 如何将 ANSI 字节转换为 Unicode 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984195/

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