为什么从二进制文件中读取数据会给我带来奇怪的结果呢?

时间:2014-01-09 13:25:26

标签: int byte bytearray fileinputstream

这是我编写新文本文件以输入二进制文件的地方。 hiscores类是一个普通类,它具有文件输入和输出方法(按预期工作)。

Hiscores hs = new Hiscores();

String testString = new String
     ("1000 0900 0800 0700 0600 0700 0400 0300 0200 0100 " +
      "one†two†three†four†five†six†seven†eight†nine†ten"
     );

    hs.WriteBinary(testString);

这是我阅读代码的第二部分。

byte[] hsInfo = hs.ReadBinary();

    int a,b;
    int[] scoreValue = new int[10];
    for(a = 0; a < 50; a+=5){
        scoreValue[a/5] = hsInfo[a]*1000 - 48000 + hsInfo[a+1]*100 - 5300 + hsInfo[a+2] * 10 -20 + hsInfo[a+3] - 8;
    }

我得到了正确的结果,但为什么我必须减去48000这样的数字才能得到正确的数字。这真是令人费解。我认为它与unicodevalues或其他东西有关,但我不能只想出这个:/

0 个答案:

没有答案