У меня есть массив байтов, похожее на это (16 байт):Строка из массива байтов не обрезается в C#?
71 77 65 72 74 79 00 00 00 00 00 00 00 00 00 00
Я использую это, чтобы преобразовать его в строку и обрезать концовка пространства:
ASCIIEncoding.ASCII.GetString(data).Trim();
Я получаю строку в порядке, однако он все еще имеет все конечные пространства. Итак, я получаю что-то вроде "qwerty.........."
(где точки - это пространства из-за StackOverflow).
Что я делаю неправильно?
Я также пытался использовать .TrimEnd() и использовать кодировку UTF8, но ничего не меняет.
Заранее спасибо :)
конец ли ваш массив байт в 00 байт или 20 байт? Пространство 0x20 не 0x00. –
Если ваш массив байтов поступает из MemoryStream, убедитесь, что вы вызываете 'ToArray()', а не 'GetBuffer()', поскольку GetBuffer будет включать в себя «незаполненные» данные, в результате чего все эти '' 0 –