C语言下实现对字符串进行utf-8格式的转换

2025-03-24 10:23:51
推荐回答(2个)
回答1:

标准库里没有。但搜了一下网上应该找到不少,比如这个:

std::string iso_8859_1_to_utf8(std::string &str)
{
    string strOut;
    for (std::string::iterator it = str.begin(); it != str.end(); ++it)
    {
        uint8_t ch = *it;
        if (ch < 0x80) {
            strOut.push_back(ch);
        }
        else {
            strOut.push_back(0xc0 | ch >> 6);
            strOut.push_back(0x80 | (ch & 0x3f));
        }
    }
    return strOut;
}

http://stackoverflow.com/questions/4059775/convert-iso-8859-1-strings-to-utf-8-in-c-c

回答2:

可以使用 iconv的API

~~~~~