2013-01-11 40 views
0

我有一個querystring參數是一個編碼的字符串,它被轉換爲Base64。然後該參數嵌入到電子郵件中的鏈接中。當我點擊電子郵件中的鏈接時,querystring參數已將其中的所有+字符替換爲空格字符。沒有其他差異。有沒有我可以調用的方法來淨化字符串,並有效地用空間替換空間。我目前正在做一個字符串替換,這有點胖。有些東西正在導致更換,但我不知道是什麼。有沒有人遇到過這樣的事情?Base 64編碼查詢字符串參數獲取字符替換

示例 - 瀏覽器的URL中的查詢參數值:字符串的控制器操作中

yo3rZZbZyG4UCN+L3pcTYJXmWEggnkW1qcyJk2uBrVTtGUSKIlBcJ8e9TSx8BHjHJv0JhI8H6LbIqUl+3lA7qn+lOgpSi3rCGN4bm5moOWcCA449C1Z3zj7J1FkOXH2HMox4VUZ7x7fF65MRwuBBmw==

值:

yo3rZZbZyG4UCN L3pcTYJXmWEggnkW1qcyJk2uBrVTtGUSKIlBcJ8e9TSx8BHjHJv0JhI8H6LbIqUl 3lA7qn lOgpSi3rCGN4bm5moOWcCA449C1Z3zj7J1FkOXH2HMox4VUZ7x7fF65MRwuBBmw==

回答

2

你應該URL編碼以base64字符串的鏈接,所以它是:

yo3rZZbZyG4UCN%2BL3pcTYJXmWEggnkW1qcyJk2uBrVTtGUSKIlBcJ8e9TSx8BHjHJv0JhI8H6LbIqUl%2B3lA7qn%2BlOgpSi3rCGN4bm5moOWcCA449C1Z3zj7J1FkOXH2HMox4VUZ7x7fF65MRwuBBmw%3D%3D 

HttpUtility.UrlEncode(base64str)在.NET或encodeURIComponent(base64str)在javascript

+0

點上 - 我稱之爲'HttpUtility.UrlEncode(base64str)'對參數的URL中嵌入前,就像一個魅力 – levelnis

0

因爲+符號解釋爲一個標誌說,另一個參數如下它是這樣做的。這就是爲什麼它變得越來越重要。在將字符串傳遞給服務器之前,應該對您的字符串進行URL編碼。