更多信息如何?什么GPS?什么接口(USB,串口)?你用什么语言工作?
您的数据确实看起来很奇怪。根据我对 GPS 数据的经验,它通常是字母数字和分隔符,但看起来你有一个损坏的字符串或非字母数字值。
根据您提供的其他信息进行更新:
您提供的 GPRS 手册解释了格式:
$$ - 2 bytes - in ASCII code (Hex code: 0x24)
L - 2 bytes - in hex code
ID 7 bytes - in the format of hex code.
For example, if ID is 13612345678, then it will be shown as follows:
0x13, 0x61, 0x23, 0x45, 0x67, 0x8f, 0xff.
command - 2 bytes - hex code
如果我理解正确,$$ 之后和数据字段之前的乱码字符不是可打印的 ASCII 字符。它们是实际的数值,一次提供一个字节。如果您将每个字节转换为十六进制格式的字符串并显示它,您应该明白我的意思。
我不太记得我的 PHP,但我认为 ID 可以通过以下方式形成十六进制格式的字符串:
$s = GetYourGPRSStringFromWherever()
$sID = sprintf("0x%02x%02x%02x%02x%02x%02x%02x", $s[4], $s[5], $s[6],
$s[7], $s[8], $s[9], $s[10]);
(另外,根据文档的示例,删除或忽略任何 0xFF 值)