Я знаю, как преобразовать шестнадцатеричные числа в целые, когда у меня есть только один шестнадцатеричный символ.но я получаю строку из двух символов.
Я конвертирую оба символа в шестнадцатеричные с помощью:
String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()))
, поэтому давайте скажем, что у меня есть 01 и 3f в качестве двух символов длины.как я должен преобразовать их в целое число?Я пытался сделать
int length = int.Parse("013f", System.Globalization.NumberStyles.AllowHexSpecifier);
, но, видимо, это неправильно.я даже взял значения обоих из них, Concat'd их вместе, а затем попытался проанализировать их ... это, очевидно, было неправильно
я делаю что-то не так, пытаясь разобрать эти два шестнадцатеричных числа в длину,или сервер получает информацию от системы нестандартной длины.потому что я могу получить правильную длину, когда первый символ 00, например, 0001 или что-то.Я просто не уверен, когда у меня есть два символа длины.
РЕДАКТИРОВАТЬ: после некоторых проб и ошибок, ожидаемое значение составляет 491
Обновление номер два:
Обычно сервер предоставляет мне двухсимвольную строку длиной, которая сообщает вам длину следующих данных.
два символа для этого конкретного атрибута - 01 и 3f.следующие данные имеют длину 491 символ, что, насколько я могу судить, не имеет отношения к 013f вообще, но я знаю, что где-то он есть, потому что другое приложение использует те же самые данные, но выдает правильныерезультаты.