Я использую API, я передаю 2 строки в качестве параметров. Если я ввожу строки программно, как:Как проверить, содержит ли строка специальные символы?
string a = "Madrid, Spain";
Eveything прекрасно, ответ API ОК. Но все меняется, когда я использую текстовое поле, чтобы представить тот же «Мадрид, Испания».
string b = TextBox1.Text;
Если я использую строку b для вызова API, я получаю Request_Denied.
По существу строка a и строка b имеют одинаковый контент, но что-то должно быть разным.
Строки C# не имеют нулевого конца, я пытался проверить с помощью String.EndsWith(Enviroment.NewLine)
, если он заканчивается символом новой строки, поскольку я использовал ввод, чтобы вставить значение. Я попытался получить представление char [] строки, чтобы увидеть, удалось ли мне получить специальные символы, но, похоже, их нет.
Поскольку строка в C# является Unicode, а некоторые методы используют ASCII, например Trim (char []), я не уверен, как их использовать.
Моя основная цель - уметь видеть все символы, содержащиеся в строке, как ASCII или Unicode, поэтому я могу проверить, что вызывает проблему с API.
Редактировать: В конце концов, похоже, проблема связана с API, но мне удалось получить шестнадцатеричное значение, как я спросил, поэтому я узнал что-то новое. Спасибо
Какой результат вы получаете от 'a == b'? –
показать нам свой код. –
Вам нужно знать кодировку, используемую для «TextBox1.Text». Поскольку вы не упомянули свою технологию пользовательского интерфейса (веб-формы, MVC, WinForms, WPF и т. Д.), Немного сложно сказать с уверенностью. –