Base64Url.DecodeFromUtf8 方法

定义

重载

DecodeFromUtf8(ReadOnlySpan<Byte>)

将表示为 Base64Url 的 UTF-8 编码文本的范围解码为二进制数据。

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>)

将表示为 Base64Url 的 UTF-8 编码文本的范围解码为二进制数据。

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>, Int32, Int32, Boolean)

将表示为 Base64Url 的 UTF-8 编码文本的范围解码为二进制数据。

DecodeFromUtf8(ReadOnlySpan<Byte>)

Source:
Base64UrlDecoder.cs
Source:
Base64UrlDecoder.cs

将表示为 Base64Url 的 UTF-8 编码文本的范围解码为二进制数据。

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

参数

source
ReadOnlySpan<Byte>

在 Base64Url 中包含需要解码的 UTF-8 编码文本的输入范围。

返回

Byte[]

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

例外

source 包含无效的 Base64Url 字符,

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

适用于

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>)

Source:
Base64UrlDecoder.cs
Source:
Base64UrlDecoder.cs

将表示为 Base64Url 的 UTF-8 编码文本的范围解码为二进制数据。

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

参数

source
ReadOnlySpan<Byte>

在 Base64Url 中包含需要解码的 UTF-8 编码文本的输入范围。

destination
Span<Byte>

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

返回

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

例外

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

source 包含无效的 Base64Url 字符,

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

注解

由于 Base64Url 的填充是可选的,因此 source 长度不需要为 4 的倍数。

如果 source 长度不是 4 的倍数,则相应地解码余数:

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

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

- 1 字节的余数 - 输入无效,导致 FormatException。

适用于

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>, Int32, Int32, Boolean)

Source:
Base64UrlDecoder.cs
Source:
Base64UrlDecoder.cs

将表示为 Base64Url 的 UTF-8 编码文本的范围解码为二进制数据。

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

参数

source
ReadOnlySpan<Byte>

在 Base64Url 中包含需要解码的 UTF-8 编码文本的输入范围。

destination
Span<Byte>

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

bytesConsumed
Int32

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

bytesWritten
Int32

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

isFinalBlock
Boolean

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

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

返回

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

注解

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

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

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

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

- 其余 1 个字节 - 将导致 OperationStatus.InvalidData 结果。

适用于