ASN.1的XML编码规则(XER):十六进制格式的BIT STRING?

问题描述 投票:0回答:1

给出以下ASN1定义:

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

randomvalue: 0x59AA46959A的XER编码为:

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

有没有办法以十六进制格式输入BIT STRING?类似于:

<InitialUE-Identity>                            
    <randomValue>0x59AA46959A</randomValue>
</InitialUE-Identity>
xml encoding bit asn.1 xer
1个回答
0
投票
安装支持EXPath Binary函数库的XSLT处理器,然后很容易进行将十六进制转换为二进制的转换。

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

嗯,我以为是。更仔细地看,您可以使用bin:hex(randomValue)轻松读取十六进制,但是输出一一和零的序列看起来比较棘手。实际上,手工操作也很容易:只需循环访问十六进制数字,然后使用查找表将每个数字转换为四个1到0的序列即可。

© www.soinside.com 2019 - 2024. All rights reserved.