Преобразование двоичных координат в десятичные ASN.1 UPER

#binary #coordinates #asn.1

#двоичный #координаты #asn.1

Вопрос:

Я не могу правильно преобразовать двоичные числа в десятичные, используя компиляцию ASN.1. Эти двоичные файлы соответствуют широте и длине.

lat 1001110010100100101010110011111

длинные 01101100100101011100100100111000

Если я преобразую их в десятичные, я получаю 1314018719 и 1821755704 , соответственно. Однако координаты должны быть такими:

введите описание изображения здесь

Я пробовал несколько конвертеров, но без выхода. Есть какие-нибудь подсказки?

Ответ №1:

Я не понимаю, как вы думаете, работает кодировка. ASN.1 PER задается ITU-T X.680 и ITU-T X.691. (UPER не выровнен по PER, вариант PER, определенный в тех же спецификациях.) Правила для целых чисел включают в себя выполнение таких действий, как кодирование как смещение от нижней границы, использование определителя длины и минимальных октетов, использование фиксированного числа октетов и отсутствие определителя длины и т. Д., В зависимости от ограничений целочисленного типа. Никто не может сказать вам, как обрабатывать предоставленные вами данные, не имея схемы ASN.1 и не зная, какая ее часть относится к этим данным, а также зная, включают ли ваши биты определитель длины или нет (если он есть).