我正在将一个 java android 应用程序移动到 windows metro,这个应用程序大量使用 blob 和解码(blob 被编码以占用更少的数据库空间
复制整个解码代码后,结果略有不同。
有些部分会询问字节值是否低于 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;
}
谢谢!