将输入文件或流转换为UTF8并检测是否为UTF8(asp.net)

阿斯卡尔·伊布拉吉莫夫(Askar Ibragimov)

在C#/ asp.net中执行以下操作的最佳方法是什么:-检测文件是否可靠地为UTF8;-以编程方式将输入流或仅磁盘上的文件转换为UTF8。

干杯阿斯卡尔

萨拉

有关检查流是否为UTF8的信息,请参见:http : //utf8checker.codeplex.com/

要进行转换,您可以使用StreamReader:

new StreamReader(stream, Encoding.UTF8)) 

实际上,使用此构造器会阻止您进行先前的检查,您可以只使用它。

MSDN:

字符编码由encoding参数设置,缓冲区大小设置为1024字节。StreamReader对象尝试通过查看流的前三个字节来检测编码。如果文件以适当的字节顺序标记开头,它将自动识别UTF-8,little-endian Unicode和big-endian Unicode文本。否则,将使用用户提供的编码。有关更多信息,请参见Encoding.GetPreamble方法。

如果您不希望检测到小端Unicode和大端Unicode,请调用以下构造函数:

new StreamReader(stream, Encoding.UTF8, false)) 

false将关闭编码检测,因此这个呼叫将编码八方使用UTF-8的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章