【发布时间】:2012-04-28 07:15:00
【问题描述】:
使用 Qt 做了很多工作,但它让我很受打击,我应该使用哪一个来将我的 QStrings 转换为 QByteArray 并返回?还有一些其他问题我不知道该怎么做。
例如在处理 QUrl 时。我有一个对象,其中成员之一是 QString,我将其设置如下:
blobByType->setBlobAbsoluteUri(request.url().toEncoded());
toEncoded() 将其转换为 utf8,然后将所有非 ASCII 字符进行百分比编码。然后,当我将 QString 设置为 QByteArray 时,它会自动将其转换为 Ascii。
另外,当我从 QString 转换到 QByteArray 时,我目前使用 toUtf8()。
我的问题是,从 QString 转换为 QByteArray 时应该使用什么,反之亦然?
【问题讨论】:
-
你没有说你打算用这个
QByteArray做什么,或者你打算在里面存储什么样的字符串。 -
在处理一些需要 char 数组的库和一些函数时需要 qbytearray。使用 QString
-
好的,那么这些库和函数接受什么?他们期待 UTF-8,还是只接受 ASCII?还是他们完全接受其他东西,比如 Latin-1 之类的?
-
实际上不知道说实话。我将 utf8 用于 base64 编码 lib atm,我生成的密钥似乎有效
-
Base64 使用 ASCII。当然,任何 ASCII 字符串也是 UTF8,所以这并不重要。