---
title: 其他使用场景
description: "**表1 ASN.1其它使用场景**"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/system-lib/kslans1/kunpengaccel_ksl_16_0159.html
sourcePath: /source/zh/kunpengaccel/system-lib/kslans1/kunpengaccel_ksl_16_0159.html
indexId: 73fc0affbb1f8d7e412aae9a8c49f995375da32f7726cf77ec2b423823d79e3c72
---
# 其他使用场景


**表1 ASN.1其它使用场景**

| ASN1其他使用场景 | 是否支持 | 示例 | 约束限制 |
| --- | --- | --- | --- |
| 赋值操作 | 支持 | MyType ::= INTEGER value MyType ::= 10 | 无 |
| 别名 | 支持 | MyInt1 ::= INTEGER(0..128) MyInt2 ::= MyInt1 MyInt3 ::= MyInt2 | 无 |
| IMPORTS | 支持 | \-\- 定义一个模块A A DEFINITIONS ::= BEGIN MyType ::= INTEGER END \-\- 定义一个模块B，引入了模块A的MyType B DEFINITIONS ::= BEGIN IMPORTS MyType FROM A; MyOtherType ::= MyType END | IMPORTS语句实际不生效，默认导出所有类型。 |
| EXPORTS | 支持 | EXPORTS ALL; \-\- 导出所有类型 EXPORTS Type; \-\- 导出模块中的指定类型 | EXPORTS语句实际不生效，默认导出所有类型。 不支持一起编译的不同模块有相同类型定义。 |
| 递归定义 | 不支持 | RecursiveSeq ::= SEQUENCE { data INTEGER(0..128), next RecursiveSeq } | 无 |
| 环形引用 | 不支持 | CircularSequence1 ::= SEQUENCE { name OCTET STRING, cs2 CircularSequence2 OPTIONAL } CircularSequence2 ::= SEQUENCE { cs1 CircularSequence1 } | 无 |
| 内部类型约束 | 支持 | InnerTypeCstrType ::= SEQUENCE { a OCTET STRING(SIZE(1..3)), b INTEGER(10..20), c BOOLEAN OPTIONAL } InnerTypeCstrSeqType ::= InnerTypeCstrType (WITH COMPONENTS { a ABSENT, b (15..20) PRESENT, c OPTIONAL }) | 带有内部类型约束的类型将被当作引用类型使用，约束不生效。 |
| 内容约束 | 支持 | ContentCstrType ::= SEQUENCE { data OCTET STRING (CONTAINING ContentCstrBoolType) } ContentCstrBoolType ::= BOOLEAN | 带有内容约束的成员，其在编解码过程中，内容不会被校验。 |
| 复杂类型嵌套 | 支持 | MySeq ::= SEQUENCE { a SEQUENCE {} } | 复杂类型（SEQUENCE、CHOICE、SEQUENCE OF）之间支持最多嵌套30层。 |
| 约束引用已定义的值 | 支持 | max INTEGER ::= 128 MyInt ::= INTEGER(0..max) value MyInt ::= 10 | 只支持INTEGER约束引用已定义的值。 |
