2016-12-15 51 views
3

我創建HTTP查詢字符串 「%2C」C# - 創建字符串準確無誤地輸入字符

query["destination"] = values[0] + @"%2C" + values[1]; 

,但到了最後,在最後的變量是%252C代替%導致2C

48.18846%252C16.36502 

如何解決這個問題?

+1

你是如何確定哪些字符串包含?如果我創建了一個測試控制檯應用程序,它可以打印出我期望的內容 - 「48.18846%2C16.36502」 – ChrisF

+3

之後是您的「query」URL編碼嗎?因爲如果是這樣,你應該使用'「,」'。 – kiziu

+1

'%'符號被轉換爲'%25'。在你的字符串中只用',',它會被轉換成'%2C'。請參閱編碼[here](http://www.degraeve.com/reference/urlencoding.php) – Reniuz

回答

2

使用HttpUtility.UrlEncode編碼你的價值觀不手動完成。

string yourString = values[0] + "," + values[1]; 
string encodedString = HttpUtility.UrlEncode(yourString); 

這裏full example in dotNetFiddle

+0

THX for all - 我用「,」替換我的%2C字符串,它的工作原理.... :) –