私はJavaAndroidアプリをWindowsMetroに移動しています。このアプリは、BLOBとデコードを多用しています(BLOBは、DB上のスペースを少なくするようにコーディングされています)
デコードコード全体をコピーした後、結果はわずかに異なります。
私が理解しているように、バイト値が0未満かどうかを尋ねる部分がいくつかありますが、c#のバイトは常に符号なしであるため、結果がAndroidアプリと同じでない理由がわかりません。
これがスニペットです。
for (int i = 0; i < length; i++) {
s[six] = (byte) (blob[i] ^ pronpassword[ix]); //pronpass is a string password
if (s[six] == 0) {
s[six + 1] = (byte)'-';
s[six] ^= 128;
s[six] = (byte) PRON_MAP[(byte) s[six]];
six++;
} else {
s[six] = (byte) PRON_MAP[(byte) s[six]];
}
six++;
ix++;
if (ix == plen)
ix = 0;
}
ありがとう!