Difference between revisions of "My ASN.1 Notes"
m (TBCD) |
m (added asn.1 section) |
||
Line 5: | Line 5: | ||
[http://powerasn.ncottin.net/ Power ASN] | [http://powerasn.ncottin.net/ Power ASN] | ||
=== Python ASN.1 Resources === | |||
[https://github.com/etingof/pyasn1 pyasn1] is a free and open source implementation of ASN.1 types and codecs as a Python package. It has been first written to support particular protocol (SNMP) but then generalized to be suitable for a wide range of protocols based on ASN.1 specification. | |||
[https://github.com/kimgr/asn1ate asn1ate] is a Python library for translating ASN.1 into other forms. It is intended for code generation from formal ASN.1 definitions, and a code generator for pyasn1 is included. | |||
[https://python-asn1.readthedocs.io/en/latest/readme.html Python-ASN1] is a simple ASN.1 encoder and decoder for Python 2.6+ and 3.3+. | |||
[https://blog.getreu.net/projects/asn1-tiny-decoder/#_the_asn_1_decoder asn1tinydecoder.py] is a simple and fast ASN.1 decoder without external libraries designed to parse large files. | |||
== Nice examples == | == Nice examples == |
Revision as of 14:10, 28 March 2019
Resources
Python ASN.1 Resources
pyasn1 is a free and open source implementation of ASN.1 types and codecs as a Python package. It has been first written to support particular protocol (SNMP) but then generalized to be suitable for a wide range of protocols based on ASN.1 specification.
asn1ate is a Python library for translating ASN.1 into other forms. It is intended for code generation from formal ASN.1 definitions, and a code generator for pyasn1 is included.
Python-ASN1 is a simple ASN.1 encoder and decoder for Python 2.6+ and 3.3+.
asn1tinydecoder.py is a simple and fast ASN.1 decoder without external libraries designed to parse large files.
Nice examples
Example explaining CHOICE tagging
Example to understand IMPLICIT tagging
TBCD
Telephony Binary-Coded Decimal strings are not part of the ASN.1 standard, but their use is prevalent in many telephony-related ASN.1 specifications.
Conversion of these types into standard numeric text strings is supported by Objective Systems software.
In general, BCD strings pack two numeric digits into a single byte value by using a four-bit nibble to hold each digit. By convention, the digits are reversed in TBCD strings, but there are no official standards for this encoding.