使用哪一个,utf8 或 Ascii

Which one to use, utf8 or Ascii

本文关键字:Ascii utf8 哪一个      更新时间:2023-10-16

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

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

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

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

此外,在进行从QString到QByteArray的大部分转换时,我目前使用toUtf8()。

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

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

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