2011-03-30 72 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