如何读取文本文件中的二进制字段

时间:2013-03-06 00:43:28

标签: c# binary streamreader

我有一个固定宽度的文本文件,我正在使用streamreader / readline()来读取。

当我在notepad ++中打开时,有一个字段看起来像这样

[NUL] [NUL] [NUL] [SUB]

其他一切都是普通文本。我知道这个字段应该是4个字符并代表一个计数所以应该看起来像'0001'

如何阅读并转换为'0001'

1 个答案:

答案 0 :(得分:3)

我不确定“SUB”的含义是什么 - 但如果它被读作U + 0001,你可以随时使用:

for (int i = 0; i < 4; i++) {
    chars[i + index] = (int) chars[i + index] + '0';
}

(假设您有char[]名为chars,其中4个字节从index开始。)

要检查的第一件事是你是否真正开始正确阅读角色。坦率地说,有一个带有二进制数据的“文本”文件开头有点狡猾,但如果它只是字节0-9,那么在大多数编码中,我希望它对应于U + 0000到U + 0009。