我有一个代表字符串中字符的
编辑:我认为解决方案应该与这里讨论的宏有关:http://msdn.microsoft.com/en-us/library/87zae4a3(v=vs.80).aspx,但我不确定实际实现应该怎么做。
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;
}
CString
自动处理吗? - David Heffernanvector<BYTE>
,它表示字符串中的字符。- 为什么不使用std::string
? - LihOCString
构造函数:http://msdn.microsoft.com/zh-cn/library/cws1zdt8(v=vs.110).aspx 只需使用接收指向char
和长度的指针的构造函数,您的工作就完成了。 - David Heffernan