Poco 编码转换

编码转换: (它提供了Unicode转 UTF8 没有提供 ASCII 转 utf8)

void FtpClinet::A2UTF8(const string & asciiString, string & utf8String)
{
utf8String.clear();
Poco::ASCIIEncoding asciiEncoding;
Poco::UTF8Encoding utf8Encoding;
Poco::TextConverter converter(asciiEncoding, utf8Encoding);
converter.convert(asciiString.data(), (int) asciiString.length()*sizeof(char), utf8String);
}


流编码转换: 把ascii 编码流转成 utf-8流

std::istream detail ;
string detailStr;
Poco::UTF8Encoding utf8Encoding;
Poco::ASCIIEncoding asciiEncoding;
Poco::InputStreamConverter conver1(detail,asciiEncoding,utf8Encoding);

现在conver1流中的数据就是 utf-8 了

你可能感兴趣的:(Poco 编码转换)