From 860c0e3150a7cb92f9dcf856d6b0b44320177ff6 Mon Sep 17 00:00:00 2001 From: liyi Date: Wed, 4 Dec 2024 17:26:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=AE=8C=E5=96=84crc32=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 51 --------------------------------------------------- 1 file changed, 51 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index b6c301cc..619ff130 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -108,54 +108,3 @@ void findChineseCharacters(Directory directory) { bool hasChineseCharacters(String input) { return RegExp(r'[\u4e00-\u9fa5]').hasMatch(input); } - - -//ToDo: 挪到可用位置这里可删掉 -/** - * 计算 CRC16 校验值 -void calculateCrc16() { - const String payload = 'hello'; - - // 将字符串转换为 Uint8List - final Uint8List uint8Payload = stringToUint8List(payload); - - // 使用自定义 CRC32 算法 - final int crc32Value = crc32Uint16(uint8Payload); - - print('************ input 为 "$payload" 的 CRC32 值为 $crc32Value'); -} - -// 将字符串转换为 Uint8List -Uint8List stringToUint8List(String input) { - return Uint8List.fromList(utf8.encode(input)); -} - -// 自定义 CRC32 实现 -int crc32Uint16(Uint8List data) { - const int polynomial = 0xD5828281; - - // 创建 CRC32 表 - final List table = List.generate(256, (i) { - int crc = i; - for (int j = 0; j < 8; j++) { - if ((crc & 1) != 0) { - crc = (crc >> 1) ^ polynomial; - } else { - crc >>= 1; - } - } - return crc; - }); - - // 计算 CRC32 校验值 - int crc = 0xFFFFFFFF; - for (final int byte in data) { - crc = (crc >> 8) ^ table[(crc ^ byte) & 0xFF]; - } - - crc ^= 0xFFFFFFFF; - - // 返回 CRC32 的低 16 位 - return crc & 0xFFFF; -} - */