如何在 c#.net 中检索 csv 文件的编码?

发布于 2024-11-14 09:59:41 字数 528 浏览 1 评论 0原文

我需要获取 csv 文件的编码类型以及如何在 c#.net 中执行此操作。

我的代码以避免在 UTF8 编码期间添加字节顺序映射(BMO),如下所示:

     public static void SaveAsUTF8WithoutByteOrderMark(string fileName, Encoding encoding)
     {
        if (fileName == null)
             throw new ArgumentNullException("fileName");

    if (encoding == null)
    {
        encoding = Encoding.Default;
    }

    File.WriteAllText(fileName, File.ReadAllText(fileName, encoding), new UTF8Encoding(false));
      }

但是任何人请告诉我如何才能在 C#.net 中查找 csv 文件的编码。

I need to get the encoding type of a csv file and how can i do this in c#.net..

My code to avoid Byte Order Mapping(BMO) added during UTF8 encoding is as follows:

     public static void SaveAsUTF8WithoutByteOrderMark(string fileName, Encoding encoding)
     {
        if (fileName == null)
             throw new ArgumentNullException("fileName");

    if (encoding == null)
    {
        encoding = Encoding.Default;
    }

    File.WriteAllText(fileName, File.ReadAllText(fileName, encoding), new UTF8Encoding(false));
      }

But any one please tell me how i can find the encoding of a csv file in C#.net..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不知所踪 2024-11-21 09:59:41

有一个简单类的示例,它将检测编码此处(它不仅仅检查BOM)。

There's an example of a simple class that will detect the encoding here (which doesn't just check for BOM).

孤独难免 2024-11-21 09:59:41

我建议使用 CharsetDetector/UTF-unknown 来查找 csv 文件的编码。它是用 C# 构建的字符集检测器 - .NET 5、.NET Core 2-3、.NET 标准 1-2 和 .NET 标准 1-2。 .NET 4+。

检测文件、流和其他字节的字符集。

此软件包基于 Ude,自版本 2 起也基于 uchardet,它们是 Mozilla 通用字符集检测器

// Detect from File (NET standard 1.3+ or .NET 4+)
DetectionResult result = CharsetDetector.DetectFromFile("path/to/file.txt"); // or pass FileInfo

// Get the best Detection
DetectionDetail resultDetected = results.Detected;

// Get the alias of the found encoding
string encodingName = resultDetected.EncodingName;

// Get the System.Text.Encoding of the found encoding (can be null if not available)
Encoding encoding = resultDetected.Encoding;

另外,这里是一个Python字符编码检测器:Chardet:通用字符编码检测器

I would recommend CharsetDetector/UTF-unknown to find the encoding of a csv file. It's a Charset detector build in C# - .NET 5, .NET Core 2-3, .NET standard 1-2 & .NET 4+.

Detect character set for files, streams and other bytes.

This package is based on Ude and since version 2 also on uchardet, which are ports of the Mozilla Universal Charset Detector.

// Detect from File (NET standard 1.3+ or .NET 4+)
DetectionResult result = CharsetDetector.DetectFromFile("path/to/file.txt"); // or pass FileInfo

// Get the best Detection
DetectionDetail resultDetected = results.Detected;

// Get the alias of the found encoding
string encodingName = resultDetected.EncodingName;

// Get the System.Text.Encoding of the found encoding (can be null if not available)
Encoding encoding = resultDetected.Encoding;

Additional, here is a Python character encoding detector: Chardet: The Universal Character Encoding Detector

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文