如何将 URI 列表编码为字符串?

How to encode a list of URI's as a string?

本文关键字:字符串 编码 列表 URI      更新时间:2023-10-16

我需要将http URI的列表存储为单个字符串。语言/工具包应该无关紧要,但为了完整性,语言是C++的,我使用的主要工具包是 Qt(我实际上试图将字符串列表放入单个 QString 中,因为它是为数不多的 Qt 类型之一,当它进入 QDataStream => QVariant => QSettings时,不会以非人类可读的方式腌制。

是否有一个"安全"字符可以分隔此 URI 字符串列表?

只要

URI 中的所有空格都编码为 + 即可使用空格。还可以使用组合(如 %~)或任何其他组合,即%后跟不能在 URI 中的%后出现的字符。使用换行符或制表符也可以。

这取决于

URI 是否经过百分比编码(例如,当您在 URL 栏中的 URL 中键入空格时,浏览器将其替换为 %20)。

如果它们被编码,则可以使用许多字符,甚至是单个空格。如果没有,我认为没有任何这样的"安全"角色。在这种情况下,也许您可以在将 URI 存储在一起之前对其进行编码,并可能在以后对其进行解码。