我有一个性能敏感的场景,我想将UTF-8写入字节数组。
.NET StringBuilder类的快速浏览让我相信它只能本地构建UTF-16。 Encoding.UTF8.GetBytes(str)表示我不愿意花费额外的分配和额外的时钟周期。
是否有原生的UTF-8作家?
答案 0 :(得分:4)
MemoryStream就像字节的StringBuilder一样;您可以通过重复向其添加字节序列来使用它来有效地创建字节序列。它没有附加字符串的方法。为了避免首先将每个字符串转换为字节数组,您可以将流包装在负责转换的StreamWriter中。