Bagikan melalui


AsnDecoder.TryReadCharacterString Metode

Definisi

Membaca nilai string karakter dari source dengan tag tertentu di bawah aturan pengodean yang ditentukan, menyalin string yang didekodekan ke dalam buffer tujuan yang disediakan.

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

Parameter

source
ReadOnlySpan<Byte>

Buffer yang berisi data yang dikodekan.

destination
Span<Char>

Buffer untuk menulis.

ruleSet
AsnEncodingRules

Batasan pengodean yang akan digunakan saat menginterpretasikan data.

encodingType
UniversalTagNumber

Salah satu nilai enumerasi yang mewakili jenis nilai untuk diproses.

bytesConsumed
Int32

Ketika metode ini kembali, jumlah total byte untuk nilai yang dikodekan. Parameter ini diperlakukan sebagai tidak diinisialisasi.

charsWritten
Int32

Ketika metode ini kembali, jumlah karakter yang ditulis ke destination. Parameter ini diperlakukan sebagai tidak diinisialisasi.

expectedTag
Nullable<Asn1Tag>

Tag yang akan diperiksa sebelum membaca, atau null untuk tag universal yang sesuai dengan jenis pengodean yang diminta.

Mengembalikan

true dan memajukan pembaca jika destination memiliki panjang yang cukup untuk menerima nilai, jika tidak false , dan pembaca tidak maju.

Pengecualian

ruleSet tidak didefinisikan.

-atau-

encodingType bukan jenis string karakter yang diketahui.

Nilai berikutnya tidak memiliki tag yang benar.

-atau-

Pengodean panjang tidak valid di bawah aturan pengodean saat ini.

-atau-

Isi tidak valid di bawah aturan pengodean saat ini.

-atau-

String tidak berhasil didekodekan.

expectedTag.TagClass adalah Universal, tetapi expectedTag.TagValue tidak sama encodingTypedengan .

Berlaku untuk