我正在尝试使用 perl 为 NEMA(GPS 协议)字生成校验和。示例 NEMA 字是如下所示的字符串
$GPGLL,5300.97914,N,00259.98174,E,125926,A*28
$
校验和是通过对和之间的所有字符进行异或来计算的*
。在这句话中,校验和是十六进制值 28 的字符表示。
我尝试了以下方法:
my $NMEA_word = 'GPGLL,5300.97914,N,00259.98174,E,125926,A';
my $uff = unpack( '%8A*', $NMEA_word );
print "Hexadecimal number: ", uc(sprintf("%x\n", $uff)), "\n";
但它似乎没有给出正确的值。请提出要改正的地方