Utf8.ToUtf16 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 UTF-8 编码只读字节范围转换为 UTF-16 编码字符范围。
public static System.Buffers.OperationStatus ToUtf16 (ReadOnlySpan<byte> source, Span<char> destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member ToUtf16 : ReadOnlySpan<byte> * Span<char> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function ToUtf16 (source As ReadOnlySpan(Of Byte), destination As Span(Of Char), ByRef bytesRead As Integer, ByRef charsWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus
参数
- source
- ReadOnlySpan<Byte>
UTF-8 编码只读字节范围。
- bytesRead
- Int32
方法返回时,从 source
中读取的字节数。
- charsWritten
- Int32
方法返回时,写入 destination
的字符数。
- replaceInvalidSequences
- Boolean
若要将 source
中的无效 UTF-8 序列替换为 U+FFFD,则为 true
;若要返回 InvalidData(如果在 source
中发现了无效字符),则为 false
。
- isFinalBlock
- Boolean
如果方法不应返回 NeedMoreData,则为 true
;否则为 false
。
返回
一个指示转换状态的值。
注解
此方法对应于 UTF8Encoding.GetChars 方法,只不过它具有不同的调用约定、不同的错误处理机制和不同的性能特征。
如果为“replaceInvalidSequences”true
,该方法会将任何格式不正确的子序列替换为 U+FFFD,source``destination
并继续处理缓冲区的其余部分。 否则,如果该方法遇到任何格式错误的序列,该方法将 OperationStatus.InvalidData 返回。
如果该方法返回错误代码,则 out 参数指示成功转码的数据量,以及无法从这些值推断出格式错误的子序列的位置。
如果“replaceInvalidSequences”为 true
,该方法永远不会返回 OperationStatus.InvalidData。 如果为“isFinalBlock” true
,则该方法永远不会返回 OperationStatus.NeedMoreData。