Qt中的QString与int、const char 、ASCII码互相转换

 


QString 转 const char *

QString str = "abc";
const char *ch1 = array.toLatin1().data();
qDebug() << ch1;	// "abc"

const char *ch2 = str.toStdString().c_str();
qDebug() << ch2;	// "abc"

const char * 转 QString

const char *ch = "hello world !";

QString str1 = QString::fromLocal8Bit(ch);
qDebug() << str1;	// "hello world !"

QString str2(ch);
qDebug() << str2;	// "hello world !"

const unsigned char * 转 QString

const unsigned char str[5] = {'t', 'e', 's', 't'};
string s = (char *)str;
qDebug() << QString::fromStdString(s);

QString 转 int

bool ok;
QString str1 = "0xf8";
int value1 = str1.toInt(&ok, 16);
qDebug() << ok << " " << value1;    // true 248

QString str2 = "012";
int value2 = str2.toInt(&ok, 10);
qDebug() << ok << " " << value2;    // true 12

QString str3 = "a";
int value3 = str3.toInt(&ok, 10);
qDebug() << ok << " " << value3;    // false 0

int 转 QString

int a = 5;
qDebug() << QString::number(a, 10);	// "5"

double b = 1.2;
QString str;
str.setNum(b);
qDebug() << str;	// "1.2"

QString 转 ASCII码

QString str = "abcde";
QByteArray array = str.toLatin1();

for (int i = 0; i < array.size(); ++i)
    qDebug() << (int)array.at(i);	// 97 98 99 100 101

ASCII码 转 QString

QByteArray array;
array.append(97);
array.append(102);
array.append(108);
array.append(116);

for (int i = 0; i < array.size(); ++i)
    qDebug() << QChar(array.at(i));	// 'a' 'f' 'l'  't'

posted @   fengMisaka  阅读(434)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示