以下的C++方法可以判断一个文本是否符合base64的编码规则。

bool IsBase64String(std::string_view str)
{
    auto length = str.length();

    if (!length || length % 4)
    {
        return false;
    }

    if (str[length - 1] == '=')
    {
        --length;
        if (str[length - 1] == '=')
        {
            --length;
        }
    }

    auto base64Part = str.substr(0, length);
    for (auto& c : base64Part)
    {
        if (!(std::isalnum(c) || c == '+' || c == '/'))
        {
            return false;
        }
    }

    return true;
}

标签: c++, base64

添加新评论