【问题标题】:Convert vector with wchar_t numbers values to wchar_t将带有 wchar_t 数字值的向量转换为 wchar_t
【发布时间】:2016-02-23 03:45:11
【问题描述】:
我有这样的事情:
vector<string> elements;
其中包含:
083938F8
083938FA
083938FC
083938FE
08393900
08393902
08393904
我想将它们转换为 wchar_t 数字(如 a、A、ź、ć);
我可以吗?怎么做?
【问题讨论】:
标签:
c++
char
type-conversion
【解决方案1】:
使用std::codecvt 标准转换在两种不同的字符编码之间进行转换:
#include <string>
#include <codecvt>
std::wstring wstring_convert_from_char( const char *str )
{
std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter;
return converter.from_bytes( str );
}
std::string string_convert_from_wchar( const wchar_t *str )
{
std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter;
return converter.to_bytes( str );
}