我正在尝试创建与 NMEA 兼容的专有句子,其中可能包含任意字符串。
带有校验和的 NMEA 语句的通常格式是:
$GPxxx,val1,val2,...,valn*ck<cr><lf>
where*
标记 2 位校验和的开始。
我的问题是:任何值字段*
本身都可以包含一个字符吗?
解析器似乎有可能等待 final <cr><lf>
,然后回顾前 3 个字符以找到校验和(如果存在)(而不是仅仅等待*
句子中的第一个字符)。但是我不知道标准是否允许。
是否还有其他可能导致问题的字符?