这是我的问题:
我需要将句子存储在“某处”(在哪里无关紧要)。 句子不得包含空格。 当我从“某处”提取句子时,我需要恢复空格。
因此,在存储句子“我很高兴”之前,我可以用安全字符替换空格,例如&amp ;.在C#中:
theString.Replace(' ', '&');
这会产生'我和我快乐'。
在检索句子时,我会反过来说:
theString.Replace('&', ' ');
但如果原始句子已包含'&'怎么办?字符?
说我会对“我很开心”这句话做同样的事情。健康'。通过上面的设计,字符串会以'我快乐健康'的形式回归,因为'&' char已被空格所取代。 (当然,我可以将&字符更改为更不可能的符号,例如¤,但我希望这可以防弹)
我曾经知道如何解决这个问题,但我忘记了。
有什么想法吗?
谢谢! 弗雷德里克
答案 0 :(得分:1)
也许您可以使用网址编码(percent encoding)作为灵感。
通过写入%XX来转义在网址中无效的字符,其中XX是表示字符的数字代码。 %符号本身也可以以相同的方式进行转义,这样您在将其转换回原始字符串时就不会遇到问题。
可能还有其他类似的编码,对于您自己的应用程序,您可以使用&
和%
一样,但是通过使用这样的现有编码,您也可以找到现有的编码函数为你做编码和解码。