Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение строк. Проблема с кодировкой ? 
:(
    Опции темы
limarukraine
Дата 3.3.2021, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 12.11.2012

Репутация: нет
Всего: нет



Доброго времени суток.

У меня с COM порта считывается строка. Потом я проверяю равна ли эта строка заданной. Однако даже если я ввожу только один символ и он правильно отображается при выводе в консоль (скрин прикреплен) то сравнение у меня false. В чем причина ? В кодировке ?  

Код

int count = port.BytesToRead;
            byte[] ByteArray = new byte[count];
            port.Read(ByteArray, 0, count);
            string s = System.Text.Encoding.UTF8.GetString(ByteArray, 0, ByteArray.Length);
            Console.WriteLine("Input string: {0}", s);

string s1 = "D";

            if (String.Compare(s, s1) == 0)

            {
                Console.WriteLine("Poradok: ");
            }                    

            else

            {
                Console.WriteLine("Bezporadok: ");
            };


Если я в программе задаю сравнение строк просто заданных (а не введенных с COM порта) то они определяются как одинаковые, то есть все нормально

Код

            string s2 = "D";
                       
            string s1 = "D";

            if (String.Compare(s2, s1) == 0)

            {
                Console.WriteLine("Poradok: ");
            }                    

            else

            {
                Console.WriteLine("Bezporadok: ");
            };


Это сообщение отредактировал(а) limarukraine - 3.3.2021, 12:51

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  1.jpg 18,04 Kb
PM MAIL   Вверх
Antimol
Дата 5.9.2022, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: нет
Всего: 4



Возможно в конец строки еще дописывается символ #0 (Окончания строки). 
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0966 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.