如何格式化传入的蓝牙流?
How to format incomming Bluetooth stream?
我已经将流转换为字符串,但我想让它只给我 byte[]。
这是我的代码
public byte[] Read()
{
try
{
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
do
{
numberOfBytesRead = mmInStream.Read(myReadBuffer, 0, myReadBuffer.Length);
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (mmInStream.IsDataAvailable());
System.Diagnostics.Debug.WriteLine(myCompleteMessage, "Reading");
}
catch (IOException ex)
{
System.Diagnostics.Debug.WriteLine("Input stream was disconnected", ex);
}
return null;
}
您可以将所有中间缓冲区的数据收集到一个单独的数组中。我正在使用 ArrayList 来收集所有缓冲区数据。收到数据后,我们将把那个ArrayList转成数组。
public byte[] Read()
{
try
{
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
var finalByteList = new ArrayList<byte>();
do
{
numberOfBytesRead = mmInStream.Read(myReadBuffer, 0, myReadBuffer.Length);
finalByteList.AddRange(myReadBuffer)
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (mmInStream.IsDataAvailable());
// here is the final array of bytes
var finalByteArray = finalByteList.ToArray();
System.Diagnostics.Debug.WriteLine(myCompleteMessage, "Reading");
}
catch (IOException ex)
{
System.Diagnostics.Debug.WriteLine("Input stream was disconnected", ex);
}
return null;
}
我已经将流转换为字符串,但我想让它只给我 byte[]。 这是我的代码
public byte[] Read()
{
try
{
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
do
{
numberOfBytesRead = mmInStream.Read(myReadBuffer, 0, myReadBuffer.Length);
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (mmInStream.IsDataAvailable());
System.Diagnostics.Debug.WriteLine(myCompleteMessage, "Reading");
}
catch (IOException ex)
{
System.Diagnostics.Debug.WriteLine("Input stream was disconnected", ex);
}
return null;
}
您可以将所有中间缓冲区的数据收集到一个单独的数组中。我正在使用 ArrayList 来收集所有缓冲区数据。收到数据后,我们将把那个ArrayList转成数组。
public byte[] Read()
{
try
{
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
var finalByteList = new ArrayList<byte>();
do
{
numberOfBytesRead = mmInStream.Read(myReadBuffer, 0, myReadBuffer.Length);
finalByteList.AddRange(myReadBuffer)
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (mmInStream.IsDataAvailable());
// here is the final array of bytes
var finalByteArray = finalByteList.ToArray();
System.Diagnostics.Debug.WriteLine(myCompleteMessage, "Reading");
}
catch (IOException ex)
{
System.Diagnostics.Debug.WriteLine("Input stream was disconnected", ex);
}
return null;
}