【问题标题】:TextBox Truncates Strings at '\0' CharacterTextBox 在 '\0' 字符处截断字符串
【发布时间】:2013-06-28 17:29:18
【问题描述】:

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

TextBox1.Text = File.ReadAllText(filename);

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

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

有没有办法复制记事本的功能?这些是旧的 .WRI 文件,如果有帮助的话,记事本会报告这些文件是使用 UTF8 加载的。

【问题讨论】:

  • 您的文本框如何显示\0
  • 最好是记事本的方式。我不在乎它是显示它还是隐藏它。我只是不希望它截断后面的内容。
  • 为什么不直接从字符串中删除呢?
  • 是的,你是对的。我只是想弄清楚记事本是如何做到的。但是,现在我想起来,这可能正是 NotePad 所做的。

标签: c# .net winforms encoding textbox


【解决方案1】:
TextBox1.Text = File.ReadAllText(filename).Replace("\0", "");

【讨论】:

    猜你喜欢
    • 2010-11-25
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2015-12-14
    相关资源
    最近更新 更多