有以下规格
G-011 DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
Payment-method ::= CHOICE {
check NumericString(SIZE (15)),
credit-card Credit-card,
cash NULL
}
Credit-card ::= SEQUENCE {
type Card-type,
number NumericString(SIZE (20)),
expiry-date NumericString(SIZE (6))-- MMYYYY --
}
Card-type ::= ENUMERATED {
cb(0), visa(1), eurocard(2), diners(3), american-express(4)
}
END我认为使用cb付款的价值表示法是:
value Payment-method ::= credit-card : cb但是,http://asn1-playground.oss.com/无法解析此值。
我的价值有什么问题?
编辑:我的错,我看得不够仔细(谢谢@Ilya)
value Payment-method ::= credit-card : {
type cb,
number "01234567890123456789",
expiry-date "042018"}发布于 2018-04-27 14:45:24
您是否遗漏了值表示法中的credit-card.type字段?因为cb属于type字段,属于credit-card字段。
在更一般的说明中,枚举类型只是一堆命名整数,而选择是一组有限的类型集合,可以用于值。
发布于 2018-04-27 15:30:05
value Payment-method ::= credit-card :
{
type cb,
number "00000000000000000000",
expiry-date "012099"
}通过将模块转换为隐式标记,只需写下十六进制,我就能得到它的解释:
3080
0A0100
12143030303030303030303030303030303030303030
1206303132303939
0000https://stackoverflow.com/questions/50064214
复制相似问题