C#:有什么方法可以发现文件使用的字符集编码吗?

2024-03-28

有什么方法可以发现文件使用的字符集编码吗?


可靠地做到这一点的唯一方法是寻找字节顺序标记 http://en.wikipedia.org/wiki/Byte-order_mark在文本文件的开头。 (此 blob 更一般地表示所使用的字符编码的字节顺序,以及编码 - 例如 UTF8、UTF16、UTF32)。不幸的是,此方法仅适用于基于 Unicode 的编码,在此之前的编码无效(必须使用不太可靠的方法)。

The StreamReader http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspxtype 支持检测这些标记来确定编码 - 您只需将一个标志传递给参数,如下所示:

new System.IO.StreamReader("path", true)

然后您可以检查的值stremReader.CurrentEncoding确定文件使用的编码。但请注意,如果不存在字节编码标记,则CurrentEncoding将默认为Encoding.Default.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#:有什么方法可以发现文件使用的字符集编码吗? 的相关文章

  • 如何将包含 5000 条记录的 Excel 文件插入到 documentDB 中?

    我有一个 Excel 文件 最初约有 200 行 我能够将 Excel 文件转换为数据表 并且所有内容都正确插入到 documentdb 中 Excel 文件现在有 5000 行 在插入 30 40 条记录后不会插入 其余所有行不会插入到
  • Accept() 是线程安全的吗?

    我目前正在用 C 语言为我正在做的课程编写一个简单的网络服务器 我们的一项要求是实现一个线程池来使用 pthread 处理连接 我知道我将如何粗略地执行此操作 在主线程中调用accept并将文件描述符传递给freee线程 但是我的朋友建议了
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 使用API​​隐藏程序标题栏

    它可以使用 c 和 windows api 删除窗口控制台标题栏 如果是的话如何 请 这个简单的应用程序隐藏并显示其所在控制台的标题栏 它会立即将控制台标题更改为 guid 以查找窗口句柄 然后 它使用 ToggleTitleBar 使用找
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 无法从 Web api POST 读取正文数据

    我正在尝试从新的 Asp Net Web Api 中的请求中提取一些数据 我有一个像这样的处理程序设置 public class MyTestHandler DelegatingHandler protected override Syst
  • 如何在 Asp.net Gridview 列中添加复选框单击事件

    我在 asp 中有一个 gridview 其中我添加了第一列作为复选框列 现在我想选择此列并获取该行的 id 值 但我不知道该怎么做 这是我的 Aspx 代码
  • Paradox 表 - Oledb 异常:外部表不是预期的格式

    我正在使用 Oledb 从 Paradox 表中读取一些数据 我遇到的问题是 当我将代码复制到控制台应用程序时 代码可以工作 但在 WinForms 中却不行 两者都以 x86 进行调试 我实际上只是复制代码 在 WinForms 应用程序
  • 矩阵向量变换

    我正在编写一个代码来制作软件蒙皮器 骨骼 皮肤动画 并且我正处于 优化 阶段 蒙皮器工作得很好 并且在 Core 上 1 09 毫秒内对 4900 个三角形网格与 22 个骨骼进行蒙皮Duo 2 Ghz 笔记本 我需要知道的是 1 有人可以
  • 如何使用 wpf webbrowser 将数据发布到 Web 服务器

    我想从数据库获取数据并使用它来让用户登录到网站 我有一个包含 Web 浏览器控件的 wpf 页面 我有这样的代码 用于将用户登录到用 php 编写的网站
  • 手动将 ClientBase 集合类型从 Array[] 更改为 List<>

    我将自己的 WCF 代理与 Client Base 一起使用 我想做一些类似于 svc util 中的 ct 属性的操作 并告诉代理返回 List 集合类型 我不能使用 List 因为实体由 nhibernate 管理 所以我必须使用 IL
  • 防止GDB中的PLT(过程链接表)断点

    在最新版本的 GDB 中 在库函数调用上设置断点会导致多个实际断点 调用过程链接表 PLT 实际的函数调用 这意味着当调用库函数时 我们每次都会经历两次中断 在以前的 GDB 版本中 只会创建 2 因此您只能得到一次中断 那么问题来了 是否
  • 使用 AdHocWorkspace 会导致“不支持语言‘C#’”。

    在VS2015中使用Microsoft CodeAnalysis CSharp Workspaces的RC2 这段代码会抛出异常 var tree CSharpSyntaxTree ParseText var workspace new A
  • 从事务范围调用 WCF 服务方法

    我有这样的代码 using TransactionScope scope TransactionScopeFactory CreateTransactionScope some methodes calls for which scope
  • 将非算术类型作为参数传递给 cmath 函数是否有效?

    给定以下用户定义类型S具有转换功能double struct S operator double return 1 0 以及以下调用cmath http en cppreference com w cpp header cmath使用类型的
  • 如何使用收益返回和递归获得字母的每个组合?

    我有几个像这样的字符串列表 可能有几十个列表 1 A B C 2 1 2 3 3 D E F 这三个仅作为示例 用户可以从几十个具有不同数量元素的类似列表中进行选择 再举个例子 这对于用户来说也是一个完全有效的选择 25 empty 4 1
  • 使用 Chrome 和 Selenium 设置 LocalStorage

    我正在尝试使用 OpenQA Selenium 和 Chrome 设置本地存储键和值 我认为这相当微不足道 但我似乎无法让它发挥作用 我对 C 很陌生 所以我可能错过了一些东西 无论如何 我有这个功能 public static void
  • 启动画面后主窗口出现在其他窗口后面

    我有一个带有启动屏幕的 Windows 窗体应用程序 当我运行该应用程序时 启动屏幕显示正常 消失并加载应用程序的主窗体 但是 当我加载主窗体时 它出现在包含该应用程序的 Windows 资源管理器目录下 这是运行启动画面然后运行主窗体的代
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个

随机推荐

  • JavaScript 中的“name”关键字是什么?

    当我输入这段看似无辜的代码片段时 values name gedit 突出显示name作为关键字 然而 name未由链接到的页面列出关于保留关键字问题的答案 https stackoverflow com questions 26255 r
  • 检查文件中是否存在一行

    如何检查文件中是否存在一行 如果该行不存在 我还想将该行写入该文件 这是我目前的尝试 logfile open ip log a while 1 line logfile readline line replace n print line
  • 定义派生类型数组

    我正在尝试使用参数声明初始化派生类型 当我编译时 出现以下错误 1 处的 INTEGER 4 数组构造函数中的元素是 CHARACTER 1 用户定义的种类值ip and dp被发现于fasst global 他们是 integer par
  • WCF服务超时

    我有一个公开 wcf 服务的插件 如果我使用 WCStorm 测试此服务 一切正常 我立即得到答复 当我尝试使用加载插件的应用程序中的服务时 我会超时 ProgrammingMaster ServiceClient aClient new
  • 类型错误:中间件不是函数

    我正在尝试在我的reactjs 应用程序中应用redux 由于这些错误 我无法继续 我确信我已经安装了我需要的所有依赖项 这是我的 package json 的相关部分 dependencies react redux 5 0 6 redu
  • 安装其他package.json依赖项

    简单的问题 是否可以在 package json 中引用另一个 package json 并安装其依赖项 谢谢 是的 这是可能的 并且这是由以下自动完成的npm install 如果你有pkg a这取决于pkg b 包括pkg a在您的依赖
  • 在 python 中快速/优化 N-gram 实现

    python 中哪种 ngram 实现速度最快 我试图分析 nltk 与 scott 的 zip http locallyoptimal com blog 2013 01 20 elegant n gram Generation in py
  • Pygame-旋转精灵并同时跟随路径

    我正在尝试制作一个被抛出的球的动画 我希望它旋转并同时遵循平滑的抛物线路径 然而 我似乎无法得到pygame transform rotate 要合作 到目前为止 这是我尝试过的 import pygame screen pygame di
  • MySQLi 更新准备好的语句不更新数据库

    所以我有这个更新语句 当我转储 POST 变量时 我得到了我想要的输出 stmt dbConnectionW gt prepare UPDATE members SET fname mysqli real escape string dbC
  • 如何在 VS Code 中从命令行打开远程文件夹?

    我可以使用以下命令启动 VS Code 打开本地文件夹code path to folder 是否可以通过在命令行上指定计算机和文件夹来打开远程计算机上的文件夹 通过远程 SSH 扩展 从 Linux 或 Mac 终端上的 cli code
  • 在构建时从 Gradle 设置静态变量

    我有一个 Android 项目 在 git 下管理 Git 有 2 个分支 还有更多 但重要的是那两个 branch a 和branch b 是否可以设置 gradle 来确定项目是从哪个分支构建的并设置public static Stri
  • 如何在 Mercurial 中克隆存储库的子文件夹?

    我有一个 Mercurial 存储库 其中包含一些相关项目 我只想将其中一个项目分支到其他地方进行 是否可以克隆存储库的一部分 这是实现这一目标的正确方法吗 你想要的是一个narrow or partial clone https www
  • 不使用 Math.min 查找数组中的最小值

    如何在不使用的情况下找到数组中的最小数字Math min apply var arr 5 1 9 5 7 const smallest Math min 5 1 9 5 7 console log smallest old way cons
  • 使用应用程序脚本在新的 Google 表格中插入超链接

    在当前版本的 Google Sheet 中 要将超链接插入到单元格中 您可以执行以下操作 sheet getRange row selectedColumn setValue hyperlink ontologyObject accessi
  • RX 自动完成框

    我正在尝试使用 RX 和 WPF 构建过滤器控件 所以我有一个文本框和一个列表框 启动时 列表框有 100 个联系人姓名 用户可以输入姓名来过滤列表 问题是我如何构建文本流 关键输入 然后发布 这应该是时间敏感的 所以我想只有在 750 毫
  • Flask:蓝图中的模板继承自应用程序中的模板?

    我是 Flask Jinja2 的新手 所以也许我忽略了一些明显的事情 但是 Flask 不应该开箱即用地允许蓝图中存在的模板吗 templates 文件夹来扩展由我的应用程序定义的基本模板templates 文件夹 即使蓝图还包含一个 默
  • 如何编写查询以确保电子邮件包含@

    我正在 db2 中创建一个数据库 我想添加一个约束来验证用户是否插入包含 的有效电子邮件地址 没有运气 有什么建议吗 您可以将 LIKE 与通配符一起使用 看here http publib boulder ibm com infocent
  • ASP.NET MVC3 TryValidateModel 验证整个模型集合,而不仅仅是单个实例

    我有一个需要模型列表的操作 我想同时验证每个模型与整个模型集合 我正在尝试使用 TryValidateModel 但似乎如果我的任何一个模型无效 那么所有模型都无效 我的表单显示 5 个 SurveyResponseModel 一个包含两个
  • 本机 KDE 查找 Qt 5 应用程序

    我在 Kubuntu 12 10 Linux 机器上安装了 Qt5 和 Qt4 并注意到以下内容 使用 Qt4 编译的程序具有原生 KDE 外观和感觉 我使用默认的 KDEOxygen主题 我的程序也是如此 注意带有标题的平滑渐变和聚焦小部
  • C#:有什么方法可以发现文件使用的字符集编码吗?

    有什么方法可以发现文件使用的字符集编码吗 可靠地做到这一点的唯一方法是寻找字节顺序标记 http en wikipedia org wiki Byte order mark在文本文件的开头 此 blob 更一般地表示所使用的字符编码的字节顺