我有这个代码,它转换UTF-8字符串到Unicode:
#include <unicode/unistr.h>
//included other header files
int main(int argc, char** argv) {
std::string s("some string");
// convert std::string to ICU's UnicodeString
UnicodeString ucs = UnicodeString::fromUTF8(StringPiece(s.c_str()));
// convert UnicodeString to std::wstring
std::wstring ws;
for (int i = 0; i < ucs.length(); ++i)
ws += static_cast<wchar_t>(ucs[i]);
std::wcout << ws;
}
我不明白如何将这个Unicode字符串转换为windows-1251(cp 1251)。在Linux中我应该使用哪个函数来完成这个操作?
2条答案
按热度按时间waxmsbnn1#
在
ucnv.h
中使用ICU的转换函数(参见ICU文档中的Conversion > Using Converters):o0lyfsai2#
您可以使用独立函数from here: