我有一个固定宽度的文本文件,我正在使用streamreader / readline()来读取。
当我在notepad ++中打开时,有一个字段看起来像这样
[NUL] [NUL] [NUL] [SUB]
其他一切都是普通文本。我知道这个字段应该是4个字符并代表一个计数所以应该看起来像'0001'
如何阅读并转换为'0001'
答案 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。