C#11中的UTF-8字符串(c# utf-8编码)
c# utf-8编码,在本文中,我们将通过示例讨论 C# 11 中的新功能 UTF-8 字符串文本。C#编程语言于2000年推出,现在是版本11。作为本文的一部分,我们将讨论以下指针。
UTF-8 字符串文本
UTF-8 是 Web 的重要语言,广泛用于 .NET 堆栈。许多数据片段以 byte[] 的形式来自网络堆栈,但在代码中也大量使用常量。例如,网络堆栈经常写入诸如“HTTP/1.0\r\n”、“AUTH”和“Content-Length:”等常量。因此,在许多情况下,使用 UTF-8 字符串文本是必要的。
字符串的U8后缀
要定义UTF-8字符编码,我们可以将u8后缀添加到字符串文字。当我们的程序需要用于HTTP字符串常量或其他文本协议的UTF-8字符串时,此功能使创建它们变得更容易。
使用u8后缀时,得到的值是ReadOnlySpan<byte>,它包含字符串的UTF-8表示形式,作为字节序列。在ReadOnlySpan<byte>的长度之外放置一个空终止符,以处理某些需要以 null 结尾的字符串的互操作方案。这允许在这些场景中使用结果字符串,而不需要额外的处理。
在.NET中,字符串是使用UTF-16编码的。Web协议和几个重要库的标准是UTF-8。字符串文字可以添加u8后缀,以表示从C#版本11开始的UTF-8编码。UTF-8文字的存储格式是ReadOnlySpanbyte>对象。UTF-8字符串文字的默认类型是ReadOnlySpanbyte>。使用UTF-8字符串文字来提供更容易理解的定义,而不是表示等效的System。ReadOnlySpanT>,如下面的代码所示,
ReadOnlySpan<byte> text = "Rama Sagar"u8;
ReadOnlySpan<byte> u16A = Encoding.Unicode.GetBytes("A");
ReadOnlySpan<byte> u8A = "A"u8;
要将 UTF-8 字符串文本存储为数组,需要使用 ReadOnlySpan<T>。ToArray() 将包含文本的字节复制到可变数组。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!