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