c# - What is equivalent to serialPort.ReadExisting() in Windows 10 app? -


i have used serialport class in previous desktop application using following method read response serialport

 var response = serialport.readexisting(); 

now implementing same thing in windows 10 app using following method

 public static async task<string> readasync(cancellationtoken cancellationtoken,datareader datareaderobject)         {             string response = string.empty;             try             {                 var flag = false;                 task<uint32> loadasynctask;                 uint readbufferlength = 1024;                 cancellationtoken.throwifcancellationrequested();                 datareaderobject.inputstreamoptions = inputstreamoptions.partial;                 loadasynctask = datareaderobject.loadasync(readbufferlength).astask();                  uint32 bytesread = await loadasynctask;                 if (bytesread > 0)                 {                     byte[] bytes = new byte[bytesread];                     datareaderobject.readbytes(bytes);                     //response = encoding.ascii.getstring(bytes);                     // response = convert.tostring(bytes);                    response= asciiencoding.ascii.getstring(bytes);                 }             }             catch (exception ex)             {                 response = string.empty;             }             return response;         } 

but , looks getting response in different encoding format. when copied both responses in notepad++ found following difference:

enter image description here going wrong here? equivalent serialport.readexisting() in windows 10 app?

the serialport.readexisting method () returns contents of stream , internal buffer of serialport object string, equivalent readexisting() in windows 10 app should datareader.readstring | readstring method.

but it's ok use datareader.readbytes | readbytes method, problem how convert byte array string. byte here uses uint8 encoding, possible can string this:

encoding.utf8.getstring(bytes);  

you can refer japaneses blog, writes ascii encoding data still need read utf8.


Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -