美文网首页
QT进行URL编码转换

QT进行URL编码转换

作者: 雯饰太一 | 来源:发表于2023-07-09 07:57 被阅读0次

    URL编码也是百分比编码,Percent-encoding,在url中出现中文的时候,通常需要先进行百分比编码,才能够进行正常的网络请求。

    相关知识点:

    • 编码规则
    • 编码表

    对于真正使用的时候,只需要知道就恶意了,不需要过多的了解编码的底层原理。

    实际代码

    //解码
    QString DeCodeURL(const QString& u)
    {
        QByteArray decode = QByteArray::fromPercentEncoding(u.toLocal8Bit());
        return QString::fromUtf8(decode);
    }
    
    //编码
    QString EnCodeURL(const QString& u)
    {
        QByteArray encode = u.toLocal8Bit();
        encode = encode.toPercentEncoding(":/?=");
        return QString(encode);
    }
    
    //测试
    void URLCodeConvertTest()
    {
        QString str_urlCode = QString::fromLocal8Bit("file:///C:/Data/%E4%BB%BF%E7%9C%9F%E6%8E%A8%E6%BC%94/%E8%AF%84%E4%BC%B0%E6%A8%A1%E6%9D%BF/De_fault.htm?a=10");
        QString str_url = DeCodeURL(str_urlCode);
        qDebug() << str_url;
        qDebug() << EnCodeURL(str_url);
    }
    

    其他

    与此类似的,还有Unicode,转义字符等基础的编码,QT中都有相对应的方法,可以直接使用,通常在Json中会出现,需要转换为明文才能在UI上进行展示。

    QT中的多行输入框,是可以直接展示Html的,如果是json中的内容是完整的网页,可以直接进行展示。

    相关文章

      网友评论

          本文标题:QT进行URL编码转换

          本文链接:https://www.haomeiwen.com/subject/vzfiydtx.html