【发布时间】:2015-06-16 15:59:02
【问题描述】:
我正在尝试使用 Python 计算 LRC(纵向冗余检查)值。 我的 Python 代码是从 StackOverflow 上的其他帖子中提取的。它看起来像这样:
lrc = 0
for b in message:
lrc ^= b
print lrc
如果我插入值 '\x02\x47\x30\x30\x03',我得到的 LRC 值为 70 或 0x46 (F) 但是,我期望的值为 68 - 0x44 (D)。
我已经通过 C# 代码计算出正确的 LRC 值:
byte LRC = 0;
for (int i = 1; i < bytes.Length; i++)
{
LRC ^= bytes[i];
}
return LRC;
如果我插入相同的字节数组值,我会得到 0x44 的预期结果。
在功能上,代码看起来非常相似。所以我想知道代码之间有什么区别。这是我的输入值吗?我应该以不同的方式格式化我的字符串吗?
【问题讨论】: