現在、streamreader / readline()を使用して読み取る固定幅のテキストファイルがあります。
notepad++で開くと次のようなフィールドが1つあります
[NUL] [NUL] [NUL] [SUB]
それ以外はすべて通常のテキストです。このフィールドは4文字で、カウントを表すことを知っているので、この「0001」のようになります。
どうすればそれを読んで「0001」に変換できますか
現在、streamreader / readline()を使用して読み取る固定幅のテキストファイルがあります。
notepad++で開くと次のようなフィールドが1つあります
[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
、4バイトが。で始まると仮定しますindex
。)
最初に確認することは、最初に文字を実際に正しく読んだかどうかです。率直に言って、バイナリデータを含む「テキスト」ファイルを最初に入れるのは少し危険ですが、それが0〜9バイトしかない場合、ほとんどのエンコーディングでは、U+0000からU+0009に対応すると思います。