用Qt做了很多工作,它只是打击了我,我应该使用哪一个将我的QStrings转换为QByteArray并返回?还有一些其他问题,我不知道该怎么做。
例如在处理QUrl时。我有一个对象,其中成员是一个QString,我设置如下:
blobByType->setBlobAbsoluteUri(request.url().toEncoded());
toEncoded()
将其转换为utf8,然后所有非ASCII字符都是百分比编码。当我将QString设置为QByteArray时,它会自动将其转换为Ascii。
另外,当我从QString转换到QByteArray的大部分时间里,我目前使用toUtf8()。
我的问题是,从QString转换为QByteArray时我应该使用什么,反之亦然?
答案 0 :(得分:3)
UTF-8和ASCII在处理英文字符时通常完全相同。不同之处在于,如果您使用非英文字符,UTF-8将能够支持它,而ASCII则不支持。我建议使用UTF-8来保证安全。
答案 1 :(得分:1)
如果您有可能使用非英语字符,最好使用UTF-8。使用它是标准和良好的做法,因为您永远不知道将来可能会重用您的代码。