Base64Url.DecodeFromChars 方法

定义

重载

DecodeFromChars(ReadOnlySpan<Char>)

将表示为 Base64Url 的 unicode ASCII 字符的范围解码为二进制数据。

DecodeFromChars(ReadOnlySpan<Char>, Span<Byte>)

将表示为 Base64Url 的 unicode ASCII 字符的范围解码为二进制数据。

DecodeFromChars(ReadOnlySpan<Char>, Span<Byte>, Int32, Int32, Boolean)

将表示为 Base64Url 的 unicode ASCII 字符的范围解码为二进制数据。

DecodeFromChars(ReadOnlySpan<Char>)

Source:
Base64UrlDecoder.cs
Source:
Base64UrlDecoder.cs

将表示为 Base64Url 的 unicode ASCII 字符的范围解码为二进制数据。

public:
 static cli::array <System::Byte> ^ DecodeFromChars(ReadOnlySpan<char> source);
public static byte[] DecodeFromChars(ReadOnlySpan<char> source);
static member DecodeFromChars : ReadOnlySpan<char> -> byte[]
Public Shared Function DecodeFromChars (source As ReadOnlySpan(Of Char)) As Byte()

参数

source
ReadOnlySpan<Char>

在 Base64Url 中包含需要解码的 ASCII 字符的输入范围。

返回

Byte[]

包含解码操作结果的字节数组。

例外

source 包含无效的 Base64Url 字符,

两个以上的填充字符,或填充字符中的非空白字符。

适用于

DecodeFromChars(ReadOnlySpan<Char>, Span<Byte>)

Source:
Base64UrlDecoder.cs
Source:
Base64UrlDecoder.cs

将表示为 Base64Url 的 unicode ASCII 字符的范围解码为二进制数据。

public:
 static int DecodeFromChars(ReadOnlySpan<char> source, Span<System::Byte> destination);
public static int DecodeFromChars(ReadOnlySpan<char> source, Span<byte> destination);
static member DecodeFromChars : ReadOnlySpan<char> * Span<byte> -> int
Public Shared Function DecodeFromChars (source As ReadOnlySpan(Of Char), destination As Span(Of Byte)) As Integer

参数

source
ReadOnlySpan<Char>

在 Base64Url 中包含需要解码的 ASCII 字符的输入范围。

destination
Span<Byte>

包含操作结果的输出范围,即解码的二进制数据。

返回

写入输出范围的字节数。 如有必要,这可用于对输出进行切片以用于后续调用。

例外

destination 中的缓冲区太小,无法容纳编码的输出。

source 包含无效的 Base64Url 字符,

两个以上的填充字符,或填充字符中的非空白字符。

适用于

DecodeFromChars(ReadOnlySpan<Char>, Span<Byte>, Int32, Int32, Boolean)

Source:
Base64UrlDecoder.cs
Source:
Base64UrlDecoder.cs

将表示为 Base64Url 的 unicode ASCII 字符的范围解码为二进制数据。

public static System.Buffers.OperationStatus DecodeFromChars(ReadOnlySpan<char> source, Span<byte> destination, out int charsConsumed, out int bytesWritten, bool isFinalBlock = true);
static member DecodeFromChars : ReadOnlySpan<char> * Span<byte> * int * int * bool -> System.Buffers.OperationStatus
Public Shared Function DecodeFromChars (source As ReadOnlySpan(Of Char), destination As Span(Of Byte), ByRef charsConsumed As Integer, ByRef bytesWritten As Integer, Optional isFinalBlock As Boolean = true) As OperationStatus

参数

source
ReadOnlySpan<Char>

需要解码的 Base64Url 中包含 unicode ASCII 字符的输入范围。

destination
Span<Byte>

包含操作结果的输出范围,即解码的二进制数据。

charsConsumed
Int32

此方法返回时,包含操作期间使用的输入字符数。 如有必要,这可用于对后续调用的输入进行切片。 此参数被视为未初始化。

bytesWritten
Int32

此方法返回时,包含写入到输出范围中的字节数。 如有必要,这可用于对输出进行切片以用于后续调用。 此参数被视为未初始化。

isFinalBlock
Boolean

当输入范围包含要编码的整个数据时,true;false 更多数据可能遵循时,

例如在循环中调用时。 应跟进 false 调用的另一个调用,其中此参数 true 调用。 默认值为 true

返回

指示操作成功或失败的枚举值之一。

注解

由于 Base64Url 的填充是可选的,即使 isFinalBlocktruesource 长度也不需要为 4 的倍数。

如果 source 长度不是 4 的倍数,并且 isFinalBlocktrue 则相应地解码其余部分:

- 3 个字符的余数 - 解码为 2 字节数据,解码成功。

- 2 个字符的余数 - 解码为 1 个字节数据。 解码成功。

- 1 个字符的余数 - 将导致 OperationStatus.InvalidData 结果。

适用于