Base64.DecodeFromUtf8 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將以 base 64 表示的 UTF-8 編碼文字範圍解碼為二進位資料。 如果輸入不是 4 的倍數,就會盡可能地解碼為最接近 4 的倍數。
public static System.Buffers.OperationStatus DecodeFromUtf8 (ReadOnlySpan<byte> utf8, Span<byte> bytes, 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 (utf8 As ReadOnlySpan(Of Byte), bytes As Span(Of Byte), ByRef bytesConsumed As Integer, ByRef bytesWritten As Integer, Optional isFinalBlock As Boolean = true) As OperationStatus
參數
- utf8
- ReadOnlySpan<Byte>
輸入範圍,包含需要解碼的 base 64 格式 UTF-8 編碼文字。
- bytesConsumed
- Int32
當這個方法傳回時,會包含作業期間所耗用的輸入位元組數目。 如有必要,這可以用來分割後續呼叫的輸入。
- bytesWritten
- Int32
當這個方法傳回時,會包含寫入輸出範圍的位元元組數目。 如有必要,這可以用來分割後續呼叫的輸出。
- isFinalBlock
- Boolean
true
(預設) ,表示輸入範圍包含要譯碼的整個數據。
false
表示輸入範圍包含具有更多要追蹤之數據的部分數據。
傳回
指出解碼作業狀態的其中一個列舉值。
備註
傳回值可以如下:
- OperationStatus.Done:處理整個輸入範圍成功。
- OperationStatus.DestinationTooSmall:輸出範圍中沒有足夠的空間可寫入譯碼的輸入。
-
OperationStatus.NeedMoreData:
isFinalBlock
是false
,而且輸入不是 4 的倍數。 否則,部分輸入會被視為 InvalidData。 -
OperationStatus.InvalidData:輸入包含預期基底 64 範圍以外的位元組,或不完整的 (,也就是不是 4 個) 的倍數,而且
isFinalBlock
是true
。 在 .NET 7 和舊版中,這個值也可以指出輸入有無效或超過兩個填補字元。