我正在WPF中构建一个文件解析工具,让我调整行长,直到数据对齐为止。观看2:10 https://www.youtube.com/watch?v=OMeghA82kSk
周围的视频我真的需要修复它,以使文本具有固定的宽度。我曾考虑过做一个DataGridView并将每个单元格都作为一个字符,但这似乎很慢而且很愚蠢。由于它会不断重新创建视图,因此需要相当快地执行。
我觉得我要问的不是什么异常,但是我尝试使用所有固定宽度字体,但是当它超出正常范围的控制字符时,它就不会出现。
我看到其他应用程序(例如v64)可以完全满足我的需求(请参见下文)。我是否需要使用TextBox以外的其他东西?这样做的理想方式是什么?
答案 0 :(得分:1)
好,所以我发现了问题。首先,您必须指定文件编码,否则它将跳过一些字节。在我的情况下,它跳过了\x86
,这使所有内容都消失了。
我发现的唯一方法是:
string shortText = File.ReadAllText("Original.dat");
File.WriteAllText("New.dat", shortText);
然后逐字节进行分析。正确的方法是执行以下操作:
string shortText = File.ReadAllText("Wrapped.dat", Encoding.ASCII);
即使那样,即使使用等宽字体,它也看起来不正确。那是因为大多数TTF字体都没有非字母数字的定义,因此您添加了一个正则表达式以去除其余部分,并且可以正常工作。
shortText = Regex.Replace(shortText, @"[^\w\n',|\.@-]", " ", RegexOptions.None);