当前位置:  开发笔记 > 编程语言 > 正文

为什么不从UTF8Encoding.GetBytes发出字节顺序标记?

如何解决《为什么不从UTF8Encoding.GetBytes发出字节顺序标记?》经验,为你挑选了2个好方法。

片段说明了一切:-)

UTF8Encoding enc = new UTF8Encoding(true/*include Byte Order Mark*/);
byte[] data = enc.GetBytes("a");
// data has length 1.
// I expected the BOM to be included. What's up?

Jon Skeet.. 18

你不希望它被用于每次调用GetBytes,否则你无法(比方说)一次写一行文件.

通过使用GetPreamble公开它,调用者可以在适当的位置(即在数据的开头)插入前导码.我同意文档可以更清楚.



1> Jon Skeet..:

你不希望它被用于每次调用GetBytes,否则你无法(比方说)一次写一行文件.

通过使用GetPreamble公开它,调用者可以在适当的位置(即在数据的开头)插入前导码.我同意文档可以更清楚.



2> xyz..:

谢谢你们俩.以下工作,LINQ使组合简单:-)

UTF8Encoding enc = new UTF8Encoding(true);
byte[] data = enc.GetBytes("a");
byte[] combo = enc.GetPreamble().Concat(data).ToArray();

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有