1

現在、streamreader / readline()を使用して読み取る固定幅のテキストファイルがあります。

notepad++で開くと次のようなフィールドが1つあります

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

それ以外はすべて通常のテキストです。このフィールドは4文字で、カウントを表すことを知っているので、この「0001」のようになります。

どうすればそれを読んで「0001」に変換できますか

4

1 に答える 1

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に対応すると思います。

于 2013-03-06T00:48:11.780 に答える