使用哪一个,utf8或Ascii

时间:2012-04-16 23:04:14

标签: c++ qt utf-8 ascii

用Qt做了很多工作,它只是打击了我,我应该使用哪一个将我的QStrings转换为QByteArray并返回?还有一些其他问题,我不知道该怎么做。

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

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

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

另外,当我从QString转换到QByteArray的大部分时间里,我目前使用toUtf8()。

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

2 个答案:

答案 0 :(得分:3)

UTF-8和ASCII在处理英文字符时通常完全相同。不同之处在于,如果您使用非英文字符,UTF-8将能够支持它,而ASCII则不支持。我建议使用UTF-8来保证安全。

答案 1 :(得分:1)

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