gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:53:15 30 4
gpt4 key购买 nike

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

干杯阿斯卡

最佳答案

要检查流是否为 UTF8,请参阅:http://utf8checker.codeplex.com/

要转换它,您可以使用 StreamReader:

new StreamReader(stream, Encoding.UTF8)) 

事实上,使用这个构造器会阻止你之前的检查,你可以直接使用它。

MSDN:

The character encoding is set by the encoding parameter, and the buffer size is set to 1024 bytes. The StreamReader object attempts to detect the encoding by looking at the first three bytes of the stream. It automatically recognizes UTF-8, little-endian Unicode, and big-endian Unicode text if the file starts with the appropriate byte order marks. Otherwise, the user-provided encoding is used. See the Encoding.GetPreamble method for more information.

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

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

false 将关闭编码检测,因此此调用将始终使用 UTF 8 对文件进行编码。

关于c# - 将输入文件或流转换为 UTF8 并检测它是否为 UTF8 (asp.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18439411/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com