From 84cb0c58546b9eb7e0497219044b5848f5a6d6fe Mon Sep 17 00:00:00 2001 From: fly6516 Date: Wed, 8 Jan 2025 14:37:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor(main):=20=E4=BC=98=E5=8C=96=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E5=92=8C=E5=87=BD=E6=95=B0=E7=9A=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=8F=AF=E8=AF=BB=E6=80=A7-=20=E4=B8=BA=E5=85=B3=E9=94=AE?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=92=8C=E6=93=8D=E4=BD=9C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E6=B3=A8=E9=87=8A=EF=BC=8C=E8=A7=A3=E9=87=8A=E4=BA=86?= =?UTF-8?q?=E5=AE=83=E4=BB=AC=E7=9A=84=E4=BD=9C=E7=94=A8=20-=20=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=88=86=E8=A7=A3=E5=A4=8D=E6=9D=82=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E5=B9=B6=E4=BD=BF=E7=94=A8=E4=B8=B4=E6=97=B6=E5=8F=98?= =?UTF-8?q?=E9=87=8F=EF=BC=8C=E6=8F=90=E9=AB=98=E4=BA=86=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=9A=84=E5=8F=AF=E8=AF=BB=E6=80=A7=20-=20=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=BA=86=E5=8E=9F=E6=9C=89=E5=8A=9F=E8=83=BD=E4=B8=8D=E5=8F=98?= =?UTF-8?q?=EF=BC=8C=E6=B2=A1=E6=9C=89=E5=BC=95=E5=85=A5=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.py b/main.py index c9f64b9..6aab217 100644 --- a/main.py +++ b/main.py @@ -170,16 +170,21 @@ def calculate_checksum(data): Returns: int: 计算得到的校验和。 """ + # 初始化校验和变量 checksum = 0 + # 获取数据长度 n = len(data) # 按 16 位块划分 for i in range(0, n - 1, 2): + # 将每块数据转换为 16 位整数 chunk = (data[i] << 8) + data[i + 1] + # 累加每块数据到校验和 checksum += chunk # 如果长度为奇数,补零 if n % 2 == 1: + # 只取最后一个字节,并将其置于 16 位整数的高字节位置 checksum += data[-1] << 8 # 将 32 位总和折叠为 16 位