我有一个固定宽度的文本文件,目前我正在使用streamreader/readline()进行读取。如何读取文本文件中的二进制字段
有一个字段,当我在记事本中打开++看起来像这样
[NUL] [NUL] [NUL] [SUB]
其他的都是普通的文本。我知道这个领域,就是要4个字符,表示数量,使得应该是这样的“0001”
我怎么能阅读并转化为“0001”
我有一个固定宽度的文本文件,目前我正在使用streamreader/readline()进行读取。如何读取文本文件中的二进制字段
有一个字段,当我在记事本中打开++看起来像这样
[NUL] [NUL] [NUL] [SUB]
其他的都是普通的文本。我知道这个领域,就是要4个字符,表示数量,使得应该是这样的“0001”
我怎么能阅读并转化为“0001”
我不知道什么是“SUB “是指对应 - 但如果它读作U + 0001,你总是可以使用:
for (int i = 0; i < 4; i++) {
chars[i + index] = (int) chars[i + index] + '0';
}
(假设你有一个char[]
称为chars
,起价index
的4个字节)。
c的第一件事heck是你是否真的正确阅读角色开始。坦白地说,有一个带有二进制数据的“文本”文件开头,但如果它只是字节0-9,那么在大部分编码我希望对应于U + 0000到U + 0009 。
在.Net中有'BinaryReader' – 2013-03-06 01:26:35