Qt:从QChar获取ASCII码

13

我需要从 QChar 中获取 ASCII 码。

在 Qt 5.2 中,QChar::ToAscii 已被移除。

这是我的代码。我该如何获得 ASCII 码?

QString data;
int key;
key = data.at(i);

1
奇怪,看起来你已经能够通过将提取的字符转换为整数来自己回答问题了。实际上,这应该可以完成你的任务,而无需经过toAscii()函数。你能否对你面临的问题以及代码进行更深入的解释? - Andrea
1个回答

18

使用:

char QChar::toLatin1() const

来自文档:

返回与QChar等效的Latin-1字符,或0。这在非国际化软件中非常有用。

来自Qt5.0版本。

char QChar::toAscii() const

此函数已弃用。 返回QChar的Latin-1字符值,如果字符无法表示则返回0。

示例

QString test("test");
QChar c = test.at(0);
int v_latin = c.toLatin1();
int v_ascii = c.toAscii();
qDebug() << v_latin << " " << v_ascii;

输出:

116   116

我正在寻找'×'乘号的ASCII码,而QChar存储的是一个负值= -41。当我查看ASCII表时,该符号的值为158,为什么会得到这个负值呢? - Robert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接