首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择的枚举选项的值表示法

选择的枚举选项的值表示法
EN

Stack Overflow用户
提问于 2018-04-27 14:10:06
回答 2查看 136关注 0票数 0

有以下规格

代码语言:javascript
复制
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付款的价值表示法是:

代码语言:javascript
复制
value Payment-method ::= credit-card : cb

但是,http://asn1-playground.oss.com/无法解析此值。

我的价值有什么问题?

编辑:我的错,我看得不够仔细(谢谢@Ilya)

代码语言:javascript
复制
value Payment-method ::= credit-card : { 
    type cb, 
    number "01234567890123456789", 
    expiry-date "042018"}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-27 14:45:24

您是否遗漏了值表示法中的credit-card.type字段?因为cb属于type字段,属于credit-card字段。

在更一般的说明中,枚举类型只是一堆命名整数,而选择是一组有限的类型集合,可以用于值。

票数 1
EN

Stack Overflow用户

发布于 2018-04-27 15:30:05

代码语言:javascript
复制
value Payment-method ::= credit-card : 
{
    type cb,
    number "00000000000000000000",
    expiry-date "012099"
}

通过将模块转换为隐式标记,只需写下十六进制,我就能得到它的解释:

代码语言:javascript
复制
3080
  0A0100
  12143030303030303030303030303030303030303030
  1206303132303939
  0000
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50064214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档