【问题标题】:XML encoding rules (XER) for ASN.1: BIT STRING in hexadecimal format?ASN.1 的 XML 编码规则 (XER):十六进制格式的 BIT STRING?
【发布时间】:2020-02-26 21:04:53
【问题描述】:

鉴于以下 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】:

    安装支持 EXPath Binary 函数库的 XSLT 处理器,然后很容易进行将十六进制转换为二进制的转换。

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

    嗯,我想是的。仔细观察,您可以使用 bin:hex(randomValue) 轻松读取十六进制,但输出 1 和 0 的序列看起来更棘手。事实上,手动操作可能同样容易:只需遍历十六进制数字并使用查找表将每个数字转换为四个 1 和 0 的序列。

    【讨论】:

    • Tahnks,这是我正在寻找的一个聪明的解决方法。
    猜你喜欢
    • 1970-01-01
    • 2021-11-20
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 2016-04-17
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多