我是ASN.1编码的新手,我想知道BER编码的文件是否有一个标头,或者任何将其标识为BER编码文件的东西。我的意思是,如果有人给我一个文件,我能告诉我,它是编码的误码率(或CER或DER)吗?
然后我就可以有一个这样的功能:
if FILE is BER-encoded
return "BER"
else if FILE is DER-encoded
return "DER"
else
return "It's something else"但是我不确定BER编码是否这样工作,或者在你知道它是否是误码之前,你必须有什么东西来解码它。
发布于 2018-05-11 17:11:15
没有能够识别误码率编码的特殊报头。然而,在格式中存在大量的冗余,因此如果您对许多字节序列进行充分的分析,就可以将它们识别为无效的误码率。
每个DER编码也是有效的误码率编码,但不一定相反。您可以将字节序列读取为BER,然后用DER重新编码抽象值,并检查是否得到了相同的结果。如果是的话,原来是这样的。
发布于 2018-05-12 02:12:53
正如@Henry所说,没有特殊的标题。
但是,您可以通过尝试解码文件来知道您的文件是否包含BER编码的数据。
转到http://asn1-playground.oss.com/,确保选中BER,在Data下拉列表(右上框)中选择Binary file,然后上传二进制文件。
如果您的文件包含有效的误码率编码数据,它将显示在CONSOLE OUTPUT中。
但是,您可能会对结果感到失望:即使它是有效的,您也可能看不到任何有用的信息(您需要模式(也称为规范)来理解数据)。
https://stackoverflow.com/questions/50297079
复制相似问题