Правила кодирования XML (XER) для ASN.1: BIT STRING в шестнадцатеричном формате? - PullRequest
0 голосов
/ 31 октября 2019

Учитывая следующее определение ASN1:

InitialUE-Identity ::= CHOICE {
        s-TMSI         S-TMSI,
        randomValue    BIT STRING (SIZE (40))
}

Кодировка XER для randomvalue: 0x59AA46959A будет выглядеть следующим образом:

<InitialUE-Identity>                            
    <randomValue>0101100110101010010001101001010110011010</randomValue>
</InitialUE-Identity>

Есть ли способ ввода BIT STRING в шестнадцатеричном формате? Что-то вроде:

<InitialUE-Identity>                            
    <randomValue>0x59AA46959A</randomValue>
</InitialUE-Identity>

1 Ответ

1 голос
/ 31 октября 2019

Установите процессор XSLT с поддержкой библиотеки функций EXPath Binary, и тогда легко будет выполнить преобразование, которое преобразует шестнадцатеричный код в двоичный.

http://expath.org/spec/binary#hex

Ну, я подумалэто было. Если вы посмотрите более внимательно, вы можете легко прочитать гекс, используя bin: hex (randomValue), но вывести последовательность из одних и нулей выглядит сложнее. На самом деле, это, вероятно, так же просто сделать вручную: просто перебрать шестнадцатеричные цифры и преобразовать каждую из них в последовательность из четырех единиц и нулей, используя таблицу поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...