Base64Url.DecodeFromUtf8 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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>)
將以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>)
將以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)
將以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的填補是選擇性的,即使 isFinalBlocktrue,source 長度不需要為4的倍數。
如果 source 長度不是 4 的倍數,且 isFinalBlocktrue 會據以譯碼的餘數:
- 其餘 3 個字節 - 譯碼為 2 個字節數據,譯碼成功。
- 其餘 2 個字節 - 譯碼為 1 個字節的數據。 譯碼成功。
- 其餘 1 個字節 - 將會導致 OperationStatus.InvalidData 結果。