2011-08-21 54 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