Compartir a través de


AsnDecoder.TryReadCharacterString Método

Definición

Lee un valor de cadena de caracteres de source con una etiqueta especificada bajo las reglas de codificación especificadas, copiando la cadena descodificada en un búfer de destino proporcionado.

public static bool TryReadCharacterString (ReadOnlySpan<byte> source, Span<char> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, System.Formats.Asn1.UniversalTagNumber encodingType, out int bytesConsumed, out int charsWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadCharacterString : ReadOnlySpan<byte> * Span<char> * System.Formats.Asn1.AsnEncodingRules * System.Formats.Asn1.UniversalTagNumber * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadCharacterString (source As ReadOnlySpan(Of Byte), destination As Span(Of Char), ruleSet As AsnEncodingRules, encodingType As UniversalTagNumber, ByRef bytesConsumed As Integer, ByRef charsWritten As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Boolean

Parámetros

source
ReadOnlySpan<Byte>

El búfer que contiene los datos codificados.

destination
Span<Char>

El búfer en el que se va a escribir.

ruleSet
AsnEncodingRules

Restricciones de codificación que se van a usar al interpretar los datos.

encodingType
UniversalTagNumber

Uno de los valores de enumeración que representa el tipo de valor que se va a procesar.

bytesConsumed
Int32

Cuando este método vuelve, el número total de bytes para el valor codificado. Este parámetro se trata como sin inicializar.

charsWritten
Int32

Cuando este método vuelve, el número de caracteres escritos en destination. Este parámetro se trata como sin inicializar.

expectedTag
Nullable<Asn1Tag>

La etiqueta que se va a comprobar antes de leer, o null para la etiqueta universal adecuada para el tipo de codificación solicitado.

Devoluciones

true y avanza el lector si destination tenía suficiente longitud para recibir el valor; en caso contrario, false y el lector no avanza.

Excepciones

ruleSet no está definido.

O bien

encodingType no es un tipo de cadena de caracteres conocido.

El siguiente valor no tiene la etiqueta correcta.

O bien

La codificación de longitud no es válida en las reglas de codificación actuales.

O bien

El contenido no es válido en las reglas de codificación actuales.

O bien

La cadena no descodificó correctamente.

expectedTag.TagClass es Universal, pero expectedTag.TagValue no es lo mismo que encodingType.

Se aplica a