我正在开发一个函数,该函数将为我提供来自 HEX 字符串的 Kermit CRC 值。我在 DELPHI 有一段代码。我是 .NET 开发人员,需要 C# 中的代码。
function CRC_16(cadena : string):word;
var
valuehex : word;
i: integer;
CRC : word;
Begin
CRC := 0;
for i := 1 to length(cadena) do
begin
valuehex := ((ord(cadena[i]) XOR CRC) AND $0F) * $1081;
CRC := CRC SHR 4;
CRC := CRC XOR valuehex;
valuehex := (((ord(cadena[i]) SHR 4) XOR LO(CRC)) AND $0F);
CRC := CRC SHR 4;
CRC := CRC XOR (valuehex * $1081);
end;
CRC_16 := (LO(CRC) SHL 8) OR HI(CRC);
end;
我从这个网页得到了代码:Kermit CRC in DELPHI
我猜Delphi函数是正确的。如果有人可以请将代码转换为 C#,那将是很棒的。我试图转换为 C#,但迷失在 WORD 数据类型和 Delphi 的 LO 函数中。谢谢你们。