Base64Url.DecodeFromUtf8 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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 编码文本的输入范围。
返回
>包含解码操作结果的字节数组。
例外
适用于
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
的字节数。 如有必要,这可用于对输出进行切片以用于后续调用。
例外
destination
中的缓冲区太小,无法容纳编码的输出。
注解
由于 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 编码文本的输入范围。
- bytesConsumed
- Int32
此方法返回时,包含操作期间使用的输入字节数。 如有必要,这可用于对后续调用的输入进行切片。 此参数被视为未初始化。
- bytesWritten
- Int32
此方法返回时,包含写入到输出范围中的字节数。 如有必要,这可用于对输出进行切片以用于后续调用。 此参数被视为未初始化。
- isFinalBlock
- Boolean
当输入范围包含要编码的整个数据时,true
;false
更多数据可能遵循时,
例如在循环中调用时。 应跟进 false
调用的另一个调用,其中此参数 true
调用。 默认值为 true
。
返回
指示操作成功或失败的枚举值之一。
注解
由于 Base64Url 的填充是可选的,即使 isFinalBlock
true
,source
长度也不需要为 4 的倍数。
如果 source
长度不是 4 的倍数,并且 isFinalBlock
true
则相应地解码其余部分:
- 其余 3 个字节 - 解码为 2 个字节数据,解码成功。
- 其余 2 个字节 - 解码为 1 个字节数据。 解码成功。
- 其余 1 个字节 - 将导致 OperationStatus.InvalidData 结果。