2013-06-24 3 views
2

im отправка некоторого json в запросе http-сообщения. некоторые из текста в объекте json должны иметь надстрочные индексы.Строка Unicode literal

если я создаю мою строку в C#, как:

string s = "here is my superscript: \u00B9"; 

он преобразует \ u00B9 к действительному верхнему индексу 1, который ломает мой JSON. Я хочу, чтобы \ u00B9 отображался так же, как я пишу в строке, а не как верхний индекс.

Если добавить экранирующий символ, то он показывает, как: «вот мой индекс: \\ u00B9»

Я не хочу использовать экранирующий символ, но я также не хочу, чтобы это было преобразовано на фактический верхний индекс. Есть ли способ, чтобы C# не конвертировал unicode и оставлял его как литерно: «\ u00B9»?

Заранее спасибо

ответ

0

Рекомендуется кодировать строку, прежде чем отправить на сервер. Вы можете кодировать с помощью base64 или URLEncode в клиенте и декодировать на стороне сервера.

0

Вы используете Convert.ToBase64String и Convert.FromBase64String методы.

Для получения более подробного описания ознакомьтесь с this site.

0

Мне нравится @ ответ NinjaNye, но другой подход заключается в использовании двойного обратного слэша, чтобы сделать его буквальным. Таким образом, string s = "here is my superscript: \\u00B9"

 Смежные вопросы

  • Нет связанных вопросов^_^