1

这是我的问题:

我需要在“某处”存储句子(在哪里都没有关系)。句子不能包含空格。当我从那个“某处”中提取句子时,我需要恢复空格。

因此,在存储“我很高兴”这句话之前,我可以用安全字符替换空格,例如 &。在 C# 中:

theString.Replace(' ', '&');

这将产生“我&是&快乐”。

在检索句子时,我会反过来:

theString.Replace('&', ' ');

但是如果原句中已经包含 '&' 字符呢?

假设我会对“我很快乐&健康”这句话做同样的事情。使用上面的设计,字符串将返回为“我很高兴健康”,因为 '&' 字符已被替换为空格。(当然,我可以将 & 字符更改为更不可能的符号,例如 ¤,但我希望这是防弹的)

我曾经知道如何解决这个问题,但我忘记了如何解决。

有任何想法吗?

谢谢!弗雷德里克

4

1 回答 1

1

也许您可以使用 url 编码(百分比编码)作为灵感。

url 中无效的字符通过写入 %XX 进行转义,其中 XX 是表示字符的数字代码。% 符号本身也可以以相同的方式进行转义,这样在将其转换回原始字符串时就不会遇到问题。

可能还有其他类似的编码,对于您自己的应用程序,您可以使用 a &just 和 a %,但是通过使用这样的现有编码,您可能还可以找到现有的函数来为您进行编码和解码。

于 2013-07-22T10:37:12.480 回答