相同字符串 c# 和delphi算出的checksum结果不一样  c#=4727  delphi=4599  各位大神帮忙分析一下

txhopea 2023-02-25 01:25:40

相同字符串 c# 和delphi算出的checksum结果不一样  c#=4727  delphi=4599  各位大神帮忙分析一下

c#代码:

String temp = "W1N    030000023137     S           1                                                                                 2 361 371";

Int32 sum = (Int32)0x03;// 表示ETX
for (int i = 0; i < temp.Length; i++)
{
    Int32 j = (Int32)temp[i];
    sum += (Int32)temp[i];
    Console.WriteLine(j.ToString("X"));
}

//4727
String w_str = String.Format("{0:X4}", sum & 0xffff);

Console.WriteLine("校验码:{0}", w_str);
//校验码 1277
//Console.Write("Press any key to continue . . . ");

delphi 2007 

  vStr:='W1N    030000023137     S           1                                                                                 2 361 371';
  vLen:=Length(vStr);
  sum:=0;
  sum:=ord(chr(3));
  for I := 0 to vLen  do  //1
  begin
     vtmpsingle:=vStr[i];
     vK:=Ord(vtmpsingle);
     sum:=sum+vK;
  end;
  //4599     
  //'11F7'    
  vtmp:=InttoHex(sum,4);

 

 

 

...全文
303 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
txhopea 2023-02-25
  • 打赏
  • 举报
回复

c#和delphi数据类型不致

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧