ASN.1 Tools for Java
适用于Java的ASN.1工具-版本8.2.0(最新版本)
•ASN.1 / Java工具现在包括ASN.1 Studio v9.0.3。
•新的OSS.NOENCODE和OSS.NODECODE编译器指令通过排除指令操作数的编码或解码例程,减少了生成的TOED代码。在某些情况下,可以使用新的-compactNoDecode编译器选项进一步减少生成的代码。
•新的-compactNoDecode编译器选项指示编译器为由NODECODE指令标记的字段生成时间优化解码器代码的压缩版本。
•改进的UTF8String API
•现在,简化了UTF8String的API,并使该ASN.1类型的所有可用表示形式统一。此外,UTF8String的所有表示形式都增强了对补充Unicode字符(如表情符号)的支持。
•SOED和TOED编译器现在为UTF8String ASN.1类型的所有表示生成相同的构造函数集:
•从UTF-8字节(byte [])初始化实例的构造函数。
•从UTF-16字符(String,char [])初始化实例的构造函数。
•从Unicode代码点(int [])数组初始化实例的构造函数。
•现在,SOED和TOED运行时为UTF8String ASN.1类型的所有表示形式定义了一组相同的getter和setter方法:
•将值表示为UTF-8字节,UTF-16字符或32位Unicode代码点数组的getter方法:
public byte[] byteArrayValue();
public char[] charArrayValue();
public String stringValue();
public int[] intArrayValue();
•用于从UTF-8字节,UTF-16字符或32位Unicode代码点数组初始化值的setter方法:
public byte[] byteArrayValue();
public char[] charArrayValue();
public String stringValue();
public int[] intArrayValue();
•用于从UTF-8字节,UTF-16字符或32位Unicode代码点数组初始化值的setter方法:
public void setValue(byte[]);
public void setValue(char[]);
public void setValue(String);
public void setValue(int[]);
•getSize()方法,该方法返回UTF8String中的32位Unicode代码点的数量:
public int getSize()
•从UTF8String值检索第i个32位Unicode代码点的getChar()方法:
public int getChar(int i)
•消除了带有UTF8String的--表示的API的混淆行为:
•构造函数和setter方法不再期望String或char []参数指定UTF-8字节而不是UTF-16字符。使用构造函数或带有byte []参数的setter来初始化UTF-8字节中的值。
•stringValue()和charArrayValue()方法现在返回UTF-16字符,而不是UTF-8字节的值。使用byteArrayValue()方法检索UTF-8编码的字节。
•getSize()方法现在返回值中的32位Unicode代码点数,而不是值的UTF-8编码中的八位字节数。使用byteArrayValue().length检索UTF-8编码的长度。
•getChar()方法现在返回第i个32位Unicode代码点,而不是UTF-8编码的第i个字节的值。使用byteArrayValue()[i]检索UTF-8编码的第i个字节。
•--表示得到增强,以支持包含补充Unicode字符的值。以前,当--表示的值包括代表补充Unicode字符的代理对时,不支持该值的编码。
•增强了JIAAPI附件的JIA_ValueReader类,以支持解析开放类型的任意值。以前,JIA_ValueReader类只能解析带有基本内置ASN.1类型值的开放类型,例如INTEGER,BOOLEAN,OBJECT IDENTIFIER等。
•已创建LTE和5G协议第16版的新样本:
TS 38.463 (5g_e1ap_r16) V16.0.0 (2020-01)
TS 38.473 (5g_f1ap_r16) V16.0.0 (2020-01)
TS 38.413 (5g_ngap_r16) V16.0.0 (2020-01)
TS 38.423 (5g_xnap_r16)V16.0.0 (2020-01)
TS 36.413 (lte_s1ap_nb_iot_r16) V16.0.0 (2020-01)
TS 36.413 (lte_s1ap_r16) V16.0.0 (2020-01)
TS 36.423 (lte_x2ap_nb_iot_r16) V16.0.0 (2020-01)
TS 36.423 (lte_x2ap_r16) V16.0.0 (2020-01)
•LTE和5G协议的版本13、14和15的示例已更新,以使用可用的最新版本的ASN.1模式:
TS 38.463 (5g_e1ap_r15) V15.5.0 (2019-10)
TS 38.473 (5g_f1ap_r15) V15.7.0 (2019-10)
TS 38.413 (5g_ngap_r15) V15.5.0 (2019-10)
TS 38.331 (5g_rrc_r15) V15.7.0 (2019-09)
TS 38.423 (5g_xnap_r15) V15.5.0 (2019-10)
TS 29.171 (lte_lcs_r14) V14.3.0 (2019-09)
TS 29.171 (lte_lcs_r15) V15.3.0 (2019-09)
TS 36.455 (lte_lppa_r15) V15.2.1 (2019-01)
TS 36.331 (lte_rrc_cv2x_r14) V14.12.0 (2019-09)
TS 36.331 (lte_rrc_cv2x_r15) V15.7.0 (2019-09)
TS 36.331 (lte_rrc_nb_iot_r13) V13.14.0 (2019-06)
TS 36.331 (lte_rrc_nb_iot_r14) V14.12.0 (2019-09)
TS 36.331 (lte_rrc_nb_iot_r15) V15.7.0 (2019-09)
TS 36.331 (lte_rrc_r13) V13.14.0 (2019-06)
TS 36.331 (lte_rrc_r14) V14.12.0 (2019-09)
TS 36.331 (lte_rrc_r15) V15.7.0 (2019-09)
TS 36.413 (lte_s1ap_nb_iot_r13) V13.8.0 (2018-09)
TS 36.413 (lte_s1ap_nb_iot_r14) V14.9.0 (2019-07)
TS 36.413 (lte_s1ap_nb_iot_r15) V15.7.1 (2019-10)
TS 36.413 (lte_s1ap_r13) V13.8.0 (2018-09)
TS 36.413 (lte_s1ap_r14) V14.9.0 (2019-07)
TS 36.413 (lte_s1ap_r15) V15.7.1 (2019-10)
TS 36.423 (lte_x2ap_nb_iot_r13) V13.8.0 (2019-10)
TS 36.423 (lte_x2ap_nb_iot_r14) V14.8.0 (2019-10)
TS 36.423 (lte_x2ap_nb_iot_r15) V15.7.0 (2019-10)
TS 36.423 (lte_x2ap_r13) V13.8.0 (2019-10)
TS 36.423 (lte_x2ap_r14) V14.8.0 (2019-10)
TS 36.423 (lte_x2ap_r15) V15.7.0 (2019-10)
TS 25.331 (umts_rrc_r15) V15.4.0 (2018-09)
适用于Java的ASN.1工具-版本8.1.0
•BER和DER的部分解码:
•-enablePartialDecode和-partialDecodeOnly编译器选项已扩展为支持BER和DER。
•现在可以将coder.decodePartial()TOED运行时(osstoed.jar)API方法与BERCoder和DERCoder一起使用。
现在,BER,DER,PER,UPER,OER和COER可以使用部分解码功能。
请注意,BER / DER支持需要osstoed.jar版本8.1+。
•已为下列版本创建了新样本
•TS 36.459(LTE SLmAP)V15.0.0(2018-01)LTE协议的第15版。
•TS 38.331(5G RRC)V15.4.0(2018-12)5G协议的第15版。