Проект, над которым я сейчас работаю, должен взаимодействовать с клиентской системой, которую мы не делаем, поэтому у нас нет контроля над тем, как данные отправляются в любом случае. Проблема в том, что работали в C #, который, похоже, не поддерживает UCS-2 и очень мало поддерживает big-endian. (насколько я могу судить)
Что я хотел бы знать, так это то, есть ли что-то, что я просмотрел в .net, или что-то, что кто-то другой сделал и выпустил, и мы можем использовать. Если нет, то я попытаюсь кодировать / декодировать его пользовательским методом, если это вообще возможно.
Но спасибо за ваше время в любом случае.
EDIT:
BigEndianUnicode работает для правильного декодирования строки, проблема заключалась в получении других данных с прямым порядком байтов, поэтому пока использование IPAddress.HostToNetworkOrder (), как это было предложено в другом месте, позволило мне декодировать половину строки (Merli? Is что подходит и должно быть Merlin33069)
Я прочесываю короткий код, чтобы увидеть, пропустила ли я еще одну переменную длины
РЕШЕНИЕ:
после выяснения, что бигендиановые переменные были главной проблемой, я вернулся и рассмотрел детали, и кажется, что длина строк отправлялась в счетчиках символов, а не в байтах (в utf казалось бы, что char равен двум байтам) все, что мне нужно было сделать, это удвоить его, и это сработало. спасибо всем за помощь.