Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2011, 00:39   #1
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
Печаль Convert.ToString

имею byte[] buffer;

Convert.ToString(buffer) дописывает в конце System.Byte[] (например: "Изначальный текстSystem.Byte[]"
MSDN об этом ничего не говорит
как этого избежать?

P.S. как этот string потом на новую строку добавить в richtextbox ?
appendtext добавляет в конец последней(
D][mon вне форума Ответить с цитированием
Старый 02.08.2011, 08:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
имею byte[] buffer;
Convert.ToString(buffer) дописывает в конце System.Byte[]
как этого избежать?
у Вас МАССИВ (набор значений типа байт).
ЧТО именно Вы хотите получить после ToString() ?!

может быть, что-то такое:
Код:
            string sResult = "";
            foreach (Byte b in encodedBytes)
            {
                sResult += b > 15 ? String.Format("{0:X} ", b) : String.Format("0{0:X} ", b); 
            }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.08.2011, 23:45   #3
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
у Вас МАССИВ (набор значений типа байт).
ЧТО именно Вы хотите получить после ToString() ?!
совершенно чоткую строку, коей она была до преобразования в массив байт.
у меня была строка "строка"
далее она записывается в MemoryStream
который как массив попадает в TcpClient
потом я получаю этот массив, и нужно, вместо "строкаSystem.Byte"(что мне возвращает Convert.ToString), получить "строка"

Последний раз редактировалось D][mon; 02.08.2011 в 23:51.
D][mon вне форума Ответить с цитированием
Старый 03.08.2011, 08:38   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
далее она записывается в MemoryStream
который как массив попадает в TcpClient
приводите пример кода.

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

p.s. а вообще, преобразовать массив в строку можно, например, так:
Код:
            byte[] buffer = { 0xf1, 0xf2, 0xf0, 0xee, 0xea, 0xe0 };
            string MyString = Encoding.GetEncoding(1251).GetString(buffer);

            Console.WriteLine("Результат преобразования: {0}", MyString);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MultiByteToUTF convert и обратно mrCloud Общие вопросы Delphi 10 30.05.2011 22:28
QT convert txt to PDF cppta Qt и кроссплатформенное программирование С/С++ 3 09.03.2010 15:22
*.prn convert > ??? CHer0BuK Помощь студентам 2 19.05.2008 12:14
Convert Voucik Общие вопросы .NET 2 14.04.2008 14:16