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