当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ Qstring转Hexadecimal用法及代码示例


在 CPP 中,Qt5 有一个用于处理字符串的 QString 类。它非常强大并且有很多方法,通过 QString 类可以使用 Unicode 字符串。字符串保存为 16 位 QChar。每个 Unicode 4.0 字符由一个 QChar 表示。与许多其他编程语言中的字符串不同,QString 是可以更改的。现在我们将 Qstring 转换为十六进制值。

转换概念

我们将简单地使用一个 Q 字符串并使用 Qstring 类的 “toInt” 预构建方法将其转换为十六进制,然后提供一个 OK 指针来检查转换是否已成功执行。 Ok指针仅用于检查错误,不会影响QString int到HexaDecimal的转换。

示例

C++14


// use the qtcore tool to run this code 
  
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // declaring 
    // the string 
    QString s; 
  
    // taking input 
    // from user 
    cin >> s; 
  
    // ok: pointer 
    bool ok; 
  
    // 16 hexa base 
    int hexa_dec = s.toInt(&ok, 16); 
  
    if (!ok) { 
        // conversion not done 
        cout << "Conversion failed. Repeat conversion"
             << endl; 
    } 
    else { 
        // printing the hexadecimal value 
        cout << "your Hexadecimal conversion of given "
                "QString "
             << hexa_dec << endl; 
    } 
    return 0; 
}

输出:

s="FF"
Your Hexadecimal Conversion of given QString 255  //Pointer 'OK' is true 

结论

在QString中,为了存储未处理的字节和传统的8位“0”终止的字符串,除了QString之外,它还提供了QByteArray类。 QString 是大多数应用程序都应该使用的类。 Qt API 广泛使用它,并且对 Unicode 的支持可确保您的应用程序在您希望扩大产品市场时易于翻译。当存储原始二进制数据和内存保护至关重要时,QByteArray 是这两种情况下最合适的选择(例如用于嵌入式 Linux 的 Qt)。


相关用法


注:本文由纯净天空筛选整理自divyanshojha2003大神的英文原创作品 How To Convert a Qstring to Hexadecimal in C++?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。