c# - 是否有直接使用 UTF-8 的 .NET StringBuilder?

标签 c# .net

我有一个性能敏感的场景,我想将 UTF-8 写入字节数组。

快速浏览 .NET StringBuilder 类让我相信它只在本地构建 UTF-16。 Encoding.UTF8.GetBytes(str) 意味着我不愿意花费的额外分配和额外时钟周期。

有原生的 UTF-8 编写器吗?

最佳答案

MemoryStream就像字节的 StringBuilder;您可以使用它通过重复向其附加字节序列来有效地创建字节序列。虽然它没有附加字符串的方法。为了避免首先将每个字符串转换为字节数组,您可以将流包装在 StreamWriter 中。它负责转换。

关于c# - 是否有直接使用 UTF-8 的 .NET StringBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246832/

相关文章:

c# - 完全在代码隐藏中创建 DataGrid 列工具提示

c# - 如何处理您想要扩展的类,该类密封在 .NET 库中?

.net - ASP.NET MVC 引用问题?

c# - 简单的数据绑定(bind)不起作用

c# - 具有可为空字段的 EqualityComparer 的奇怪行为

.net - 另一个 "could not load file or assembly ... or one of its dependencies. The system cannot find the file specified"

c# - WCF 代理 - 同时使用 SOAP 1.1 和 1.2

c# - Prism 4 中的应用程序向导

c# - 在没有 WMI 的情况下使用 C# 检测 Windows 进程启动和退出事件

c# 你如何从 PropertyInfo 中获取 base.Name