2013-07-22 36 views
1

這裏是我的問題:用安全字符替換字符,反之亦然

我需要存儲句子「某處」(在哪裏並不重要)。 句子不得包含空格。 當我從那個「某處」提取句子時,我需要恢復空格。

因此,在存儲句子「我很高興」之前,我可以用一個安全字符替換空格,例如&。在C#:

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

這會產生 '我& &很高興'。

和檢索句子的時候,我會向相反:

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

但是,如果原句已經包含了「&」字?

說我會對'我很高興&健康'這句話做同樣的事情。通過上面的設計,字符串會回來,因爲'&'字符已被替換爲空格。 (當然,我可以將&角色更改爲不太可能的符號,例如¤,但是我希望這可以防彈)

我曾經知道如何解決這個問題,但我忘記了這個方法。

任何想法?

謝謝! Fredrik

回答

1

也許你可以使用url編碼(percent encoding)作爲靈感。

在URL中無效的字符通過寫入%XX轉義,其中XX是代表字符的數字代碼。 %符號本身也可以以相同的方式轉義,這樣,當將它翻譯回原始字符串時,永遠不會遇到問題。

可能還有其他類似的編碼,對於您自己的應用程序,您可以使用&以及%,但通過使用像這樣的現有編碼,您可能還可以找到現有函數來執行編碼和解碼爲你。

+0

這是一個好主意。 HttpUtility.UrlEncode/HttpUtility.UrlDecode很棒! –

相關問題