我有一个性能敏感的场景,我想将 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/