c# - TextBox 在 '\0' 字符处截断字符串

标签 c# .net winforms encoding textbox

我有一个带有多行文本框的 WinForms 应用程序。我按如下方式填充文本框:

TextBox1.Text = File.ReadAllText(filename);

问题在于某些文件中包含二进制字符,包括 '\0',并且文本框会截断该点的文本。

我理解这样做的原因(在内部,控件使用 '\0' 来表示字符串的结尾);但是,我可以将这些文件加载​​到记事本中。我认为记事本使用与文本框完全相同的编辑控件。

有什么方法可以复制记事本的功能吗?这些是旧的 .WRI 文件,NotePad 报告这些文件是使用 UTF8 加载的(如果有帮助的话)。

最佳答案

TextBox1.Text = File.ReadAllText(filename).Replace("\0", "");

关于c# - TextBox 在 '\0' 字符处截断字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370441/

相关文章:

C# 2.0 泛型 : How to create an Action object with zero parameters

c# - WinForms WebBrowser 阻止 ProcessCmdKey

c# - C# 中的 PropagationFlags 枚举 [访问控制条目 (ACE)]

c# - 如何获取表单主动控件?

c# - 使用 Prism 根据对象类型将 View 注入(inject) ItemsControl

c# - 在gridview中使用内置的“编辑”和“删除”按钮。 ASP.NET C#

c# - 在没有 Draw() 的情况下缩放 Texture2D

c# - ReadLine() 关闭我的控制台

c# - 从非托管进程卸载 .NET DLL

java - Java字节码和.NET字节码有什么区别吗?如果是这样,我应该采用该值的十六进制吗?