0

一直在用 Qt 做很多工作,它让我很震惊,我应该使用哪一个来将我的 QStrings 转换为 QByteArray 并返回?还有一些其他问题我不知道该怎么做。

例如在处理 QUrl 时。我有一个对象,其中成员之一是 QString,我将其设置如下:

blobByType->setBlobAbsoluteUri(request.url().toEncoded());

将其toEncoded()转换为 utf8,然后所有非 ASCII 字符都进行百分比编码。然后,当我将 QString 设置为 QByteArray 时,它会自动将其转换为 Ascii。

此外,当我从 QString 转换为 QByteArray 时,我目前使用 toUtf8()。

我的问题是,从 QString 转换为 QByteArray 时应该使用什么,反之亦然?

4

2 回答 2

3

处理英文字符时,UTF-8 和 ASCII 通常是完全一样的。不同之处在于,如果您曾经使用非英文字符,UTF-8 将能够支持它,而 ASCII 则不会。我建议使用 UTF-8 只是为了安全起见。

于 2012-04-16T23:10:28.420 回答
1

如果您有机会使用非英文字符,最好使用 UTF-8。使用它是标准且良好的做法,因为您永远不知道将来谁可能会重用您的代码。

于 2012-04-16T23:08:07.183 回答