как преобразовать байт [100] в guid - PullRequest
0 голосов
/ 04 сентября 2011

Я получаю ответ службы, который byte[100], как я могу преобразовать его в guid?

byte[] response = wc.UploadValues(url, "POST", nvc);
string Guid = new Guid(response).ToString();
Response.Write(Guid);

Ответы [ 2 ]

2 голосов
/ 04 сентября 2011

Существует конструктор Guid , который позволяет инициализировать Guid из 16-элементного байтового массива.Таким образом, вам придется сначала извлечь 16 элементов из массива из 100 элементов в новый, а затем инициализировать Guid.Какие 16 элементов извлечь из массива из 100 элементов, конечно, будут зависеть.

Теперь я подозреваю, что здесь происходит то, что сервер отправляет Guid в виде строки в ответе.Поэтому все, что вам нужно сделать, это разобрать его после преобразования ответа сервера в строку с использованием правильной кодировки:

byte[] response = wc.UploadValues(url, "POST", nvc);
var guid = Guid.Parse(Encoding.UTF8.GetString(response));
0 голосов
/ 04 сентября 2011

Я не полностью понимаю ваш фрагмент кода, но Guid имеет перегрузки для new (byte []) и ToByteArray Method для преобразования Guids из и в байтовые массивы -это должно сделать трюк

...