Comments (3)
The first output should be "A01044070B0000"
from asn1tools.
Fixed in version 0.80.1. There was a mistake in the code for encoding/deciding sequence extensions.
import asn1tools
import binascii
foo = '''
Foo DEFINITIONS ::= BEGIN
PosProtocol ::= SEQUENCE {
tia801 BOOLEAN,
rrlp BOOLEAN,
rrc BOOLEAN,
...,
ver2-PosProtocol-extension Ver2-PosProtocol-extension
}
Ver2-PosProtocol-extension ::= SEQUENCE {
lpp BOOLEAN,
posProtocolVersionRRLP PosProtocolVersion3GPP OPTIONAL,
...,
lppe BOOLEAN OPTIONAL}
PosProtocolVersion3GPP ::= SEQUENCE {
majorVersionField INTEGER(0..255),
technicalVersionField INTEGER(0..255),
editorialVersionField INTEGER(0..255),
...}
END
'''
testdata = {
'tia801': False,
'rrlp': True,
'rrc': False,
'ver2-PosProtocol-extension': {
'lpp': False,
'posProtocolVersionRRLP': {
'majorVersionField': 7,
'technicalVersionField': 11,
'editorialVersionField': 0
}
}
}
t1 = asn1tools.compile_string(foo, 'uper')
t1_encode = t1.encode('PosProtocol', testdata)
print(binascii.b2a_hex(t1_encode))
t2_decode = t1.decode('PosProtocol', t1_encode)
print(t2_decode)
The output:
> python3 test.py
b'a01044070b0000'
{'tia801': False, 'rrlp': True, 'rrc': False, 'ver2-PosProtocol-extension': {'posProtocolVersionRRLP': {'majorVersionField': 7, 'technicalVersionField': 11, 'editorialVersionField': 0}, 'lpp': False}}
>
from asn1tools.
Thank you very much.
from asn1tools.
Related Issues (20)
- Why asn1tool will give tag 'a0' HOT 1
- asn parsing HOT 2
- Missing support for BCDString in BER HOT 1
- asn1tools.codecs.ber.DecodeTagError: HOT 2
- GSER decoding is not implemented
- Support for CLASS HOT 1
- Generate C source: Unsupported type 'BIT STRING' HOT 3
- Unsupported type 'BIT STRING' error in generate C source uper HOT 3
- python asn1tools BitString uper encoded wrong value HOT 1
- Objects set members are not parsed at all HOT 2
- ASN1Tools Fails to Compile 3GPP Release 16 ASN.1 HOT 3
- Expected enumeration index 0, 1 or 2, but got 3
- Generated C OER decoder fails to decode fixed-length sequences with lengths of more than 255
- Decode successfully ignores extra bytes HOT 2
- encode_message() fails to validate ASN.1 BIT STRING SIZE constraints
- how to parse the "CONTAING SEQUENCE" msg immediately HOT 1
- Compile nrppa using PER fail
- How to view encoded values
- Test failures with pyparsing 3.1.1 HOT 4
- oer c code generation fails when addition contains a sequence with enums (type error) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asn1tools.