У меня есть массив байтов, которые я получаю от внешнего объекта. Это фиксированный размер. Байты содержат строку в кодировке Юникод с 0 значениями для заполнения остальной части буфера:
Таким образом, байты могут быть:
H \0 E \0 L \0 L \0 \0 \0 \0 \0 \0 ... etc
Я получаю этот буфер и преобразовываю его в строку примерно так:
byte[] buffer = new byte[buffSize];
m_dataStream.Read(buffer, 0, buffSize);
String cmd = System.Text.Encoding.Unicode.GetString(buffer);
Я получаю строку, которая выглядит следующим образом:
"HELLO\0\0\0\0\0\0\0\0..."
Как я могу сказать GetString завершить строку при первом нулевом Unicode (то есть, чтобы я просто вернулся "HELLO")?
Спасибо за любой вклад.