共用方式為


Base64Url.DecodeFromUtf8 方法

定義

多載

名稱 Description
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>)

來源:
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>)

來源:
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)

來源:
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 結果。

適用於