Я пытаюсь преобразовать URL-строки в некоторые строки, однако у меня проблемы с методами, предоставляемыми инфраструктурой .Net.URL-кодирование символов ASCII/UTF16
Например, я пытаюсь кодировать строки, содержащие символ «â». Например, согласно w3schools, я ожидал бы, что этот символ будет закодирован как «% E2» (и система PHP, которую я должен назвать, ожидает этого тоже ...).
Я попытался с помощью этих методов:
System.Web.HttpUtility.UrlEncode("â");
System.Web.HttpUtility.UrlPathEncode("â");
Uri.EscapeUriString("â");
Uri.EscapeDataString("â");
Однако, все они кодируют этот символ как: % C3% A2
Я предполагаю, что это что-то делать с тем фактом, что строки в .NET кодируются UTF-16. Таким образом, чтобы избежать этой проблемы, я могу написать это, например:
"%" + ((int)character).ToString("X")
Однако, я хотел бы знать, если структура уже имеет встроенный метод (я не могу найти ответ здесь или в другом месте, чтобы почему мой персонаж закодирован таким образом)?
Благодаря обоим вы. Я не заметил, что были перегрузки ... Я даю вам ответ, поскольку вы первый ответили. – Matthieu