ASN1C C# Runtime Library  7.2
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Asn1UTF8String Class Reference
Inheritance diagram for Asn1UTF8String:
Asn1CharString Asn1Type Asn1TypeIF Asn1Real10 Asn1XmlAnyElem

Public Member Functions

 Asn1UTF8String ()
 
 Asn1UTF8String (System.String data)
 
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
 
override void Decode (Asn1PerDecodeBuffer buffer)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, long upper)
 
override void Decode (Asn1OerDecodeBuffer buffer)
 
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
 
override void Encode (Asn1PerEncodeBuffer buffer)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
 
override void Encode (Asn1OerEncodeBuffer buffer)
 
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
 
override void Encode (Asn1PerOutputStream outs)
 
virtual void Encode (Asn1PerOutputStream outs, long lower, long upper)
 
void SetAnyAttribute (String qname, String val)
 
- Public Member Functions inherited from Asn1CharString
virtual void Decode (Asn1JsonDecodeBuffer buffer)
 
void DecodeByteToChar (Asn1OerDecodeBuffer buffer, int length)
 
virtual void DecodeXER (System.String buffer, System.String attrs)
 
override void DecodeXML (System.String buffer, System.String attrs)
 
override void Encode (Asn1XerEncoder buffer, System.String elemName)
 
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
 
virtual void Encode (Asn1JsonOutputStream outs)
 
bool Equals (System.String value)
 
override bool Equals (System.Object value)
 
override int GetHashCode ()
 
override System.String ToString ()
 
bool validate (Asn1CharSet charSet)
 
- Public Member Functions inherited from Asn1Type
void _SetKey (byte[] rtkey)
 
virtual void Decode (Asn1BerDecodeBuffer buffer)
 
virtual void Decode (System.Object reader, System.String xmlURI)
 
virtual void Decode (System.Object reader, System.IO.Stream byteStream)
 
virtual void Decode (Asn1MderDecodeBuffer buffer)
 
virtual void DecodeXML (String buffer, String attrs)
 
virtual int Encode (Asn1BerEncodeBuffer buffer)
 
virtual void Encode (Asn1XerEncoder buffer)
 
virtual void Encode (Asn1XmlEncoder buffer)
 
virtual void Encode (Asn1MderOutputStream buffer)
 
virtual void Encode (Asn1MderOutputStream buffer, bool useCachedLength)
 
virtual void Encode (Asn1CerOutputStream outs, bool explicitTagging)
 
void EncodeAsOpenType (Asn1OerEncodeBuffer buffer)
 
virtual void EncodeAttribute (Asn1XmlEncoder buffer, System.String attrName)
 
virtual bool Equals (Asn1Type obj)
 
String GetNonParameterizedTypeName ()
 
virtual void Indent (System.IO.TextWriter outs, int level)
 
virtual bool IsOpenType ()
 
virtual bool MatchTypeName (System.String typeName)
 
virtual void Pdiag (System.String s)
 
virtual void Print (System.IO.TextWriter outs, System.String varName, int level)
 
virtual void Print (System.String varName)
 
void SetNonParameterizedTypeName (String value)
 
virtual void SetOpenType ()
 

Static Public Member Functions

static string Decode (Asn1BerDecodeBuffer buffer, Asn1Tag explicitTag, int implicitLength)
 
static string DecodeUTF8 (Asn1PerDecodeBuffer buffer)
 
static String DecodeUTF8 (Asn1OerDecodeBuffer buffer)
 
static int Encode (Asn1BerEncodeBuffer buffer, Asn1Tag explicitTag, string value)
 
static void Encode (Asn1PerEncodeBuffer buffer, string value)
 
static void Encode (Asn1OerEncodeBuffer buffer, String value)
 
static void Encode (Asn1BerOutputStream outs, Asn1Tag explicitTag, string value)
 
- Static Public Member Functions inherited from Asn1Type
static void _SetKey2 (byte[] rtkey)
 
static Asn1Type Decode (Asn1BerDecodeBuffer buffer, Asn1OpenTypeField openTypeField, bool explicitTag, int implicitLength)
 
static Asn1Type Decode (Asn1OerDecodeBuffer buffer, Asn1OpenTypeField openTypeField)
 
static Asn1Type Decode (Asn1PerDecodeBuffer buffer, Asn1OpenTypeField openTypeField)
 
static System.String GetTypeName (short typeCode)
 

Static Public Attributes

static new readonly Asn1Tag _TAG
 
- Static Public Attributes inherited from Asn1Type
static readonly Asn1Tag _TAG
 

Protected Member Functions

virtual void Decode (Asn1OerDecodeBuffer buffer, int length)
 

Additional Inherited Members

- Public Attributes inherited from Asn1CharString
System.String mValue
 
- Public Attributes inherited from Asn1Type
const short BIT_STRING = 3
 
const short BMPString = 30
 
const short BOOLEAN = 1
 
const short DATE = 31
 
const short ENUMERATED = 10
 
const short EOC = 0
 
const short EXTERNAL = 8
 
const short GeneralString = 27
 
const short GeneralTime = 24
 
const short GraphicString = 25
 
const short IA5String = 22
 
const short INTEGER = 2
 
const short NULL = 5
 
const short NumericString = 18
 
const short OBJECT_IDENTIFIER = 6
 
const short ObjectDescriptor = 7
 
const short OCTET_STRING = 4
 
const short OpenType = 99
 
const short PrintableString = 19
 
const short REAL = 9
 
const short RELATIVE_OID_IRI = 36
 
const short RelativeOID = 13
 
const short SEQUENCE = 16
 
const short SET = 17
 
const short T61String = TeletexString
 
const short TeletexString = 20
 
const short TIME = 14
 
const short UniversalString = 28
 
const short UTCTime = 23
 
const short UTF8String = 12
 
const short VideotexString = 21
 
const short VisibleString = 26
 
- Static Protected Member Functions inherited from Asn1CharString
static int Encode (Asn1BerEncodeBuffer buffer, String val, bool explicitTagging, Asn1Tag tag)
 
- Properties inherited from Asn1CharString
override int Length [get]
 
- Properties inherited from Asn1Type
virtual String AsnTypeName [get]
 
virtual int Length [get]
 

Detailed Description

This is a container class for holding the components of an ASN.1 UTF-8 string value.

Constructor & Destructor Documentation

◆ Asn1UTF8String() [1/2]

The default constructor creates an empty time string object.

◆ Asn1UTF8String() [2/2]

Asn1UTF8String ( System.String  data)

This constructor can be used to set the UTF8 String mValue member variable to the given string value.

Parameters
dataUTF8 String value

References Asn1OctetString.Decode(), Asn1Tag.EOC, Asn1Status.INDEFLEN, and Asn1OctetString.mValue.

Member Function Documentation

◆ Decode() [1/6]

static string Decode ( Asn1BerDecodeBuffer  buffer,
Asn1Tag  explicitTag,
int  implicitLength 
)
static

This method decodes an ASN.1 UTF-8 string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses variable length character encodings.

BER encodes UTF8String, OID-IRI, and RELATIVE-OID-IRI in essentially the same way; this permits sharing of the implementation.

Parameters
bufferDecode message buffer object
explicitTagTag to explicitly match, or null if none
implicitLengthLength of contents if implicit

Referenced by Asn1OID_IRI.Decode(), and Asn1UTF8String.Decode().

◆ Decode() [2/6]

override void Decode ( Asn1BerDecodeBuffer  buffer,
bool  explicitTagging,
int  implicitLength 
)
virtual

This method decodes an ASN.1 UTF-8 string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses variable length character encodings.

Parameters
bufferDecode message buffer object
explicitTaggingFlag indicating element is explicitly tagged
implicitLengthLength of contents if implicit

Reimplemented from Asn1Type.

References Asn1UTF8String.Decode().

◆ Decode() [3/6]

override void Decode ( Asn1PerDecodeBuffer  buffer)
virtual

This method decodes an ASN.1 UTF-8 string value using the packed encoding rules (PER). The string is assumed to not contain a size constraint.

Parameters
bufferDecode message buffer object

Reimplemented from Asn1Type.

References Asn1UTF8String.DecodeUTF8(), Asn1MessageBufferBase.TypeCode, and Asn1Type.UTF8String.

◆ Decode() [4/6]

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
long  lower,
long  upper 
)
virtual

This method decodes a sized ASN.1 UTF-8 string value using the packed encoding rules (PER).

Parameters
bufferDecode message buffer object
lowerLower bound (inclusive) of size constraint
upperUpper bound (inclusive) of size constraint

References Asn1UTF8String.DecodeUTF8(), Asn1MessageBufferBase.TypeCode, and Asn1Type.UTF8String.

◆ Decode() [5/6]

override void Decode ( Asn1OerDecodeBuffer  buffer)
virtual

This method decodes an ASN.1 UTF8String string value that was encoded according to OER.

Parameters
bufferDecode message buffer object

Reimplemented from Asn1Type.

References Asn1OerDecodeBuffer.DecodeLength().

◆ Decode() [6/6]

virtual void Decode ( Asn1OerDecodeBuffer  buffer,
int  length 
)
protectedvirtual

This method decodes the content of an ASN.1 UTF8String string value that was encoded according to OER. The length is not decoded but is taken to be as given.

Parameters
bufferDecode message buffer object

References Asn1DecodeBuffer.Read().

◆ DecodeUTF8() [1/2]

static string DecodeUTF8 ( Asn1PerDecodeBuffer  buffer)
static

This method decodes an ASN.1 UTF-8 string value using the packed encoding rules (PER).

Parameters
bufferDecode message buffer object

Referenced by Asn1OID_IRI.Decode(), and Asn1UTF8String.Decode().

◆ DecodeUTF8() [2/2]

static String DecodeUTF8 ( Asn1OerDecodeBuffer  buffer)
static

This method decodes the content of an ASN.1 UTF8String string value that was encoded according to OER.

Parameters
bufferDecode message buffer object
Returns
The decoded string.

References Asn1OerDecodeBuffer.DecodeLength().

◆ Encode() [1/11]

static int Encode ( Asn1BerEncodeBuffer  buffer,
Asn1Tag  explicitTag,
string  value 
)
static

This method encodes an ASN.1 UTF8 string type. Nearly the same encoding is shared by OID-IRI and RELATIVE-OID_IRI; this method facilitates sharing the implementation.

The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

Parameters
bufferEncode message buffer object
explicitTagTag to explicitly encode, or null for none.
valueThe value to encode. For OID-IRI and RELATIVE-OID-IRI, whitespace should already have been removed.
Returns
Length in octets of encoded component

References Asn1EncodeBuffer.Copy(), and Asn1BerEncodeBuffer.EncodeTagAndLength().

Referenced by Asn1OID_IRI.Encode(), and Asn1UTF8String.Encode().

◆ Encode() [2/11]

override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
)
virtual

This method encodes an ASN.1 UTF8 string type. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

Parameters
bufferEncode message buffer object
explicitTaggingFlag indicating explicit tagging should be done
Returns
Length in octets of encoded component

Reimplemented from Asn1Type.

References Asn1PerDecodeBuffer.ByteAlign(), Asn1PerDecodeBuffer.DecodeBitsToOctetArray(), Asn1PerDecodeBuffer.DecodeLength(), Asn1UTF8String.Encode(), and Diag.Prtln().

◆ Encode() [3/11]

static void Encode ( Asn1PerEncodeBuffer  buffer,
string  value 
)
static

This method encodes a string using the packed encoding rules (PER) specifie for ASN1. UTF8String. These rules are essentially shared with OID-IRI and RELATIVE-OID-IRI.

Parameters
bufferEncode message buffer object
valueThe value to be encoded. In the case of OID-IRI and RELATIVE-OID-IRI, should not contain whitespace.

References Asn1PerEncodeBuffer.ByteAlign(), Asn1PerEncodeBuffer.EncodeBits(), Asn1PerEncodeBuffer.EncodeLength(), Asn1PerEncodeBuffer.EncodeLengthEOM(), and Asn1Util.WriteStackTrace().

◆ Encode() [4/11]

override void Encode ( Asn1PerEncodeBuffer  buffer)
virtual

This method encodes an unconstrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'mValue' public member variable within this class.

Parameters
bufferEncode message buffer object

Reimplemented from Asn1Type.

References Asn1UTF8String.Encode().

◆ Encode() [5/11]

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
long  lower,
long  upper 
)
virtual

This method encodes a size-constrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'mValue' public member variable within this class.

Parameters
bufferEncode message buffer object
lowerLower bound (inclusive) of size constraint
upperUpper bound (inclusive) of size constraint

References Asn1UTF8String.Encode().

◆ Encode() [6/11]

override void Encode ( Asn1OerEncodeBuffer  buffer)
virtual

This method encodes a ASN.1 UTF8String according to OER.

Parameters
bufferEncode message buffer object

Reimplemented from Asn1Type.

◆ Encode() [7/11]

static void Encode ( Asn1OerEncodeBuffer  buffer,
String  value 
)
static

This method encodes an ASN.1 UTF8String according to OER.

Parameters
bufferEncode message buffer object
valueThe value to be encoded.

References Asn1EncodeBuffer.Copy(), Asn1BerOutputStream.EncodeLength(), Asn1OerEncodeBuffer.EncodeLength(), Asn1BerOutputStream.EncodeTag(), Asn1OutputStream.Write(), and Asn1Util.WriteStackTrace().

◆ Encode() [8/11]

static void Encode ( Asn1BerOutputStream  outs,
Asn1Tag  explicitTag,
string  value 
)
static

This method encodes the given string using the BER encoding rules for UTF8String, including the given tag, if provided.

Throws, Exception thrown by C# System.IO.Stream for I/O error

Parameters
outsBER Output Stream object
explicitTagTag to encode, or null for none.
valueThe value to encode. For OID-IRI and RELATIVE-OID-IRI, should not contain whitespace.
Exceptions
Asn1ExceptionThrown, if operation is failed.

◆ Encode() [9/11]

override void Encode ( Asn1BerOutputStream  outs,
bool  explicitTagging 
)
virtual

This method encodes and writes to the stream an ASN.1 UTF8 string value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Throws, Exception thrown by C# System.IO.Stream for I/O error

Parameters
outsBER Output Stream object
explicitTaggingFlag indicating explicit tagging should be done
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

References Asn1UTF8String.Encode(), Asn1BerOutputStream.EncodeLength(), Asn1BerOutputStream.EncodeTag(), Asn1OutputStream.Write(), and Asn1Util.WriteStackTrace().

◆ Encode() [10/11]

override void Encode ( Asn1PerOutputStream  outs)
virtual

This method encodes an unconstrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'mValue' public member variable within this class.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters
outsPER Output Stream object
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

◆ Encode() [11/11]

virtual void Encode ( Asn1PerOutputStream  outs,
long  lower,
long  upper 
)
virtual

This method encodes a size-constrained ASN.1 UTF-8 string value using the packed encoding rules (PER). The value to be encoded is stored in the 'mValue' public member variable within this class.

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters
outsPER Output Stream object
lowerLower bound (inclusive) of size constraint
upperUpper bound (inclusive) of size constraint
Exceptions
Asn1ExceptionThrown, if operation is failed.

References Asn1Tag.PRIM, Asn1Tag.UNIV, and Asn1Type.UTF8String.

◆ SetAnyAttribute()

void SetAnyAttribute ( String  qname,
String  val 
)

This method will set the anyAttribute type value for given qname and value of XML attribute

Parameters
qnameThe qualified (prefixed) name
valueThe attribute value

Member Data Documentation

◆ _TAG

new readonly Asn1Tag _TAG
static

The _TAG constant describes the universal tag for this data type (UNIVERSAL 12).