如何使用streamreader以当前编码读取byte[]

2024-01-03

我想读byte[]使用 C# 和文件的当前编码。

正如 MSDN 中所写,当构造函数没有编码时,默认编码将为 UTF-8:

var reader = new StreamReader(new MemoryStream(data)).

我也尝试过,但仍然以 UTF-8 格式获取文件:

var reader = new StreamReader(new MemoryStream(data),true)

我需要阅读byte[]使用当前编码。


文件没有编码。字节数组没有编码。字节没有编码。编码是将字节转换为文本,反之亦然。

您在文本编辑器等中看到的实际上是程序魔法:编辑器尝试不同的编码,然后guesses哪一个最有意义。这也是您使用布尔参数启用的功能。如果这不能产生你想要的结果,那么这个魔法就失败了。

var reader = new StreamReader(new MemoryStream(data), Encoding.Default);

将使用操作系统/位置特定的默认编码。如果这仍然不是您想要的,那么您需要完全明确,并告诉流读取器要使用什么确切的编码,例如(仅作为示例,您说您不想要 UTF8):

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

如何使用streamreader以当前编码读取byte[] 的相关文章

  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 如何从 Jenkins 将节点应用程序部署到远程主机?

    这是节点应用程序目录根目录中的 Jenkins 文件 pipeline agent any triggers pollSCM stages stage deploy steps sh scp 我将 Jenkins 配置为连接到远程 gitl
  • 显示图像时出现奇怪的 matplotlib 行为

    当范围 0 255 内的常规 RGB 图像转换为 float 然后由 matplotlib 显示时 图像将显示为负数 如果它被转换为 uint8 它会正确显示 当然 这给我弄清楚发生了什么造成了一些麻烦 因为我不小心将其中一张图像投射为浮动
  • gpiod - 在设备树中使用标签

    我想用libgpiod通过自定义板上的用户空间控制一些 GPIO 我有一个 i MX6UL 处理器 它有数百个引脚 我将只使用其中 8 个 作为 GPIO 我读到了关于libgpiod因为它正在取代旧的 sysfs API 我很高兴您可以为
  • Summernote createRange 与 HTML

    我的 Summernote 编辑器中的某些文本包含 HTML 我想要让用户选择的文本与编辑器中的文本完全相同 到目前为止我看到的所有答案都告诉我使用这个 summernote summernote createRange toString
  • .NET MVC 4 WebAPI POST 不起作用

    核心问题 GET 有效 POST 无效 我是 WebAPI 的新手 所以我可能做了一些愚蠢的事情 但我在网上查了很多资料 试图找出为什么这不起作用 相当简单的 WebAPI C 应用程序 我试图将其简化为非常简单的路线 config Rou
  • X11 窗口调整大小时卡顿

    我正在 X11 中创建一个 openGL 窗口并使用glxswapbuffers用于双缓冲 问题是 渲染看起来不错 但在调整大小时 openGL 内容会跳来跳去 窗口边框会出现卡顿现象 我尝试过滤ConfigureNotify事件 延迟它们
  • Pandas `isin` 函数的更快替代方案

    我有一个非常大的数据框df看起来像 ID Value1 Value2 1345 3 2 332 1355 2 2 32 2346 1 0 11 3456 8 9 322 我有一个包含 ID 子集的列表ID list 我需要有一个子集df为了
  • ViewData 是 ASP.Net 5(核心)中 ViewBag 的新标准吗?

    我注意到 在我从 Microsoft 看到的 ASP Net 5 核心 的所有示例和教程中 VS 2015 中的默认 Web 应用程序模板使用 ViewData XXX 代替 ViewBag XXX 这是现在推荐的从控制器传递数据的方法吗
  • 角度附加组件到各个选项卡

    我正在尝试使用角度材料将组件 动态创建 附加到相应的选项卡 viewChild但只有当我单击第二个选项卡中的按钮时 它才会转到第一个选项卡 Here is Stackblitz 角度附加组件到各自的选项卡 https stackblitz
  • 在 Objective-C 中,如何从类别访问私有属性

    我想从类的类别中访问该类的私有属性 但要访问私有财产 我必须在类别中重新声明相同的私有财产 如果我不重新声明 我会收到编译错误 Property
  • 使用 Commons Multiparthttpservlet 解析器上传文件

    我在 Spring Boot 中做了一个服务 在 Reactjs 中做了前端 但我的服务没有提供任何东西 没有结果 我正在上传带有文件图像或音频的表单数据 但我的休息服务没有收到任何文件 我的服务等级 CrossOrigin Request
  • C#:传递通用对象

    我想要一个通用的打印功能 PrintGeneric T 在以下情况下 我缺少什么 一如既往 感谢您的帮助 见解 public interface ITest public class MyClass1 ITest public string
  • Visual Studio - 从元数据查看类型

    我记得在以前安装的 Visual Studio 中 当我对当前解决方案中不存在的类型使用 转到定义 选项时 它会显示一个选项卡 显示从元数据反映的类型 我当前的安装直接进入对象浏览器 我更喜欢看到元数据版本 有没有什么方法可以选择默认行为
  • 将 Swift 字典转换为 NSDictionary

    我创建了一个 Swift Dictionary 对象 var params first name firstNameTextField text last name lastNameTextField text company compan
  • 如何替换回车符

    我有一个变量 myClass 0 gt comment 其中有回车符 我想将该变量中的所有回车替换为 n 我怎样才能做到这一点 下面可能会有所帮助 myClass 0 gt comment 这是一些输出 输出 array 0 gt stri
  • 使用 React Router 在页面的某个部分内导航

    我的导航栏包含以下内容 Home About Login Home is 具有多个部分的垂直滚动页面 e g About和其他部分 虽然登录是单独的反应组件 它被渲染在 login route 这是我的route js file
  • 如何强制 SDL_Init() 失败?

    有没有可靠的方法SDL Init 在测试用例中使用失败 我认为您可以通过不包含 SDL 动态链接库 SDL dll 来强制它失败
  • 忽略“检测到源架构漂移”错误,继续更新

    我在 Visual Studio 2017 中有一个 SQL 项目 我正在使用 SSDT 从 SQL 数据库更新我的项目 如下所示 通常 我用作源的数据库正在发生变化 通常以小且不相关的方式 当发生这种情况时 我无法更新我的项目 我得到 c
  • 如何在 Laravel 5 中删除会话

    我正在尝试删除基本会话 但它没有删除 这是代码 欢迎 blade php if Session has key Session get key a href logout Sign Out a else please signin endi
  • 如何使用streamreader以当前编码读取byte[]

    我想读byte 使用 C 和文件的当前编码 正如 MSDN 中所写 当构造函数没有编码时 默认编码将为 UTF 8 var reader new StreamReader new MemoryStream data 我也尝试过 但仍然以 U