Разбор / форматирование данных с последовательного порта - C #

Я разработал небольшую программу, которая слушает последовательный порт. Моя программа получает данные. Проблема в том, что он не отображается в нужном формате (одна строка). Данные, которые получает моя программа, представлены в двух строках, например:

ID:34242 State:NY

Почтовый индекс: 12345 StreetType: Ave

Он отображается чанками, а некоторые данные передаются следующим строкам:

 ID:34242
State:N
Y Zip:12
345 Street
Type:Ave

Я использовал обработчик событий SerialDataReceive для получения моих данных, и это выглядит так:

 private static void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {

        SerialPort spL = (SerialPort) sender;
        int bufSize = 20;
        Byte[] dataBuffer = new Byte[bufSize];
        Console.WriteLine("Data Received at"+DateTime.Now);
        Console.WriteLine(spL.Read(dataBuffer, 0, bufSize));
        string s = System.Text.ASCIIEncoding.ASCII.GetString(dataBuffer);
        Console.WriteLine(s);



    }

Как видите, я извлекаю байты в буфер, создаю байтовый массив для хранения данных и использую кодировку ASCII для преобразования байтов в строку. Я пытался использовать ReadLine (), но мои данные не отображаются с помощью этой функции. Кто-нибудь знает какой-либо другой способ разбора и форматирования данных в одну строку?

Ответы на вопрос(3)

Ваш ответ на вопрос