2011-08-21 60 views
0

我想通過Web服務從iPhone發送西里爾字符串作爲參數傳遞給.NET框架服務器。我應該如何正確編碼它?我想結果是這樣的:西里爾的NSString爲Unicode在Objective-C

「myParam = \ U0438 \ U0422」

如果這是可行的,那就沒關係,如果它是西里爾或只是拉丁字母?

我應該如何對其進行解碼的服務器,在這裏我使用C#嗎?

+1

在UTF-8做的一切。那麼你不必編碼任何東西。 – Yuji

回答

0

我想結果是這樣的 「myParam = \ U0438 \ U0422」

真的嗎?這不是對URL參數編碼標準,這將是:假設UTF-8編碼,這將是一個ASP.NET應用程序的默認

myParam=%d0%b8%d0%a2 

。您不需要手動解碼任何內容,那麼Request.QueryString/Form集合將爲您提供原生的Unicode字符串。 URL編碼

通常使用stringByAddingPercentEscapesUsingEncoding來完成,但它是一個有點壞了。請參閱this question瞭解背景。

-1

C#的字符串默認編碼的Unicode。所以對於你來說,確保你的字符串編碼像unicode就足夠了。它的編碼類似UNICODE

一次,沒有任何區別,如果你放在那裏cyrilic,拉丁語,阿拉伯語或任何字母,應該足夠使用正確的代碼頁。

編輯

正在尋找..在這裏好文章@chibacity注Globalization Step by Step

更正:即使默認字符串編碼爲Unicode在C#中,Web服務在你的情況下使用UTF-8。 (更靈活的一種)

+1

OP正在描述Web服務調用。調用的編碼與用於在.Net中編碼字符串的確切方案無關。 UTF-8是Web服務的默認設置。 –

+0

@downvoter:爲什麼這樣? – Tigran

+0

@chibacity:正確的+1,剛剛錯過了WebService部分的問題。在編輯中更正... – Tigran