如何将std::vector<unsigned char>
转换为std::wstring
?
矢量中的数据也是小端序的含义
我传达了这个:
0xBE 0xEF 0xBE 0xEF 0xBE 0xEF 0xBE 0xEF
我收到的是存储在我的载体中的
0xEF 0xBE 0xEF 0xBE 0xEF 0xBE 0xEF 0xBE
我不得不将其恢复为原始形式并将其转换为std::wstring
。我怎样才能做到这一点? (此代码运行的机器始终为x86或x64)
答案 0 :(得分:1)
如果没有重新排序,您可以使用std::wstringstream
:
std::vector<unsigned char> vec{'B','E',' ','E','F',' ','B','E',' ','E','F',' ','B','E',' ','E','F',' ','B','E',' ','E','F'};
std::wstringstream ss;
for(auto v : vec)
{
ss<<v;
}
std::wstring w = ss.str();
然而,重新排序本身,我不明白,所以通过以正确的方式遍历向量来自己合并。