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)
- 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
- decoding erros HOT 9
- SEQUENCE OF has no maximum length HOT 1
- parser claims "syntax error" for `SEQUENCE (SIZE (32)) OF OCTET STRING (SIZE (6))` with `DEFAULT` HOT 4
- How to encode a complex json object ?
- ParseError when compile the ASN1 schema file
- OpenType does not exist for xer
- Changing `numeric_enums` parameter has no effect when `cache_dir` is set and cache previously created
- Example for ETSI CAM-ASN1 to Json Command
- Decode hangs when decoding the output of encode if ASN.1 contains a SEQUENCE of CHOICE of SEQUENCE
- Hello eerimoq
- Error Decoding Indefinite Length ASN.1 Elements Containing Extension Marker HOT 1
- Type 'SetupRelease' not found in module 'EUTRA-RRC-Definitions'.
- UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 3: ordinal not in range(128)
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.