Я пытался сохранить байтовый массив в очереди, и когда очередь достигла определенной длины, чтобы очистить очередь и преобразовать все в массив символов.Однако я не получаю вывод при выполнении этого.Есть ли причина, по которой он пуст после использования очереди?Спасибо.
char Массив, отправляемый в виде байтов в приложение C #:
char Str[10] = {'a','b','c','d','e','f','g','h','i','j'};
массив символов с именем Str преобразуется в байты до достижения приложения и становится данные
void Update()
{
Queue<byte> myQueue = new Queue<byte>();
Debug.Log("datalength: " + data.Length);
byte[] byteArray = new byte[data.Length];
if (data.Length == 20)
{
for (int i = 0; i < data.Length; i++)
{
myQueue.Enqueue(data[i]);
byteArray[i] = myQueue.Dequeue();
}
}
Debug.Log("byteArrayLength: " + byteArray.Length);
char[] charArray = System.Text.Encoding.UTF8.GetString(byteArray, 0, 20).ToCharArray();
string s = PrintCharArray(charArray);
}
public static string PrintCharArray(char[] chars)
{
var sb = new StringBuilder("new byte[] { ");
foreach (var b in chars)
{
sb.Append(b + ", ");
Debug.Log(b.ToString());
}
sb.Append("}");
return sb.ToString();
}