Кириллица NSString в Unicode в target-c - PullRequest
0 голосов
/ 21 августа 2011

Я хочу отправить строку кириллицы в качестве параметра через веб-сервис с iPhone на сервер .NET Framework. Как мне правильно его кодировать? Я бы хотел, чтобы результат был примерно таким:

"MyParam = \ U0438 \ U0422"

Если это выполнимо, имеет ли значение, если это кириллица или просто латинские буквы?

А как мне его декодировать на сервере, где я использую C #?

Ответы [ 2 ]

0 голосов
/ 21 августа 2011

Я бы хотел, чтобы результат был что-то вроде "myParam = \ U0438 \ U0422"

В самом деле? Это не стандарт для кодирования параметров URL, который будет:

myParam=%d0%b8%d0%a2

с учетом кодировки UTF-8, которая будет использоваться по умолчанию для приложения ASP.NET. Тогда вам не нужно ничего декодировать вручную, коллекции Request.QueryString / Form предоставят вам собственные строки Unicode.

URL-кодирование обычно выполняется с использованием stringByAddingPercentEscapesUsingEncoding, за исключением того, что оно немного нарушено. См. этот вопрос для фона.

0 голосов
/ 21 августа 2011

C # строки по умолчанию кодируют Unicode.Так что для вас достаточно убедиться, что ваша строка закодирована как Unicode.

Один раз, когда она закодирована как Unicode, нет никакой разницы, если вы поместите туда кириллицу, латинский, арабский или любые другие буквы, должно быть достаточноиспользовать правильную кодовую страницу.

РЕДАКТИРОВАТЬ

Искал ... хорошая статья здесь Глобализация шаг за шагом

ИсправлениеПримечание @chibacity: даже если кодировка строки по умолчанию Unicode в C #, веб-службы в вашем случае используют UTF-8.(более гибкий)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...