私は以下の問題があります。私はJavaからファイルからバイト配列を作成しています。だから、私は次のようにします:Java - なぜreadAllBytesが不正なバイトコードを返すのですか?
しかし、多くのバイトについて、それは不正確/負の値を返しています。
例えば、私がjavascriptを使ってテストすると、ファイルのすべてのバイトを読み取ることができます。
function readbytes(s){
var f = new File(s);
var i,a,c;
var d = [];
if (f.isopen) {
c = f.eof;
for(i=0;i<c ;i++){
a = f.readbytes(1);
d.push(a);
}
f.close();
return d;
} else {
post("could not open file: " + s + "n");
}
}
(readbytesは、特定の位置にバイトを与えるプログラムのImの関数です)。
これがそうイムは思っ正しいバイト
を返し、なぜJavaは間違ったコードを返すのですか?これは符号なしの値と関係がありますか?
いいえ、Javaには符号なしの値( 'char'を付けない)がないので、' signed'の値と関係があります。 – Kayaman