2011-03-30 71 views
1

我正在用“二进制笔记”在Java中使用ASN.1环境。首先我手工创建了一类asn.1序列。ASN.1 /二进制注释特定的注释?

@ASN1String(name = "", isUCS = false, stringType = UniversalTag.PrintableString) 
@ASN1Element(name = "firstName", isOptional = false, hasTag = false, hasDefaultValue = false) 
private String firstName = null; 

现在我想知道那个“@”符号的含义是什么?我试图找到在二进制中的源线索,并发现:

package org.bn.annotations; 
import java.lang.annotation.*; 

@Retention(RetentionPolicy.RUNTIME) 
@Target(ElementType.FIELD) 
public @interface ASN1String { 
    String name(); 
    boolean isUCS(); 
    int stringType(); 
} 

有人能解释的符号给我吗? 会好的。提前致谢。

nyyrikki

回答

0

我是作者这个框架。这是用于控制某些ASN.1功能的字段/类的Java注释功能(元信息)。 对于您的示例它是一个字符串字段编码为ASN.1字节流作为ASCII字符串(而不是unicode字符串)没有标记,它不是父结构(ASN.1序列)的可选(必需)。

有关详细资料,你可以开始阅读http://en.wikipedia.org/wiki/ASN.1#Standards