校验和与消息不匹配

时间:2015-03-25 12:02:22

标签: java serial-port hl7

消息:

R:<ENQ> 
S:<ACK> 
R:<STX>1H|\^&|||9163500014<CR><ETX>56<CR><LF> 
S:<ACK> 
R:<STX>2P|1||42670070||Meir Anna||19740410|F<CR><ETX>48<CR><LF>
S:<ACK> 
R:<STX>3O|1|||^^^HBsAg<CR><ETX>72<CR><LF> 
S:<ACK> 
R:<STX>4R|1|^^^HBsAg|0.059||<CR><ETX>EE<CR><LF> 
S:<ACK> 
R:<STX>5P|2||43681136||Mueller^Fritz||19940428|M<CR><ETX>3E<CR><LF> 
S:<ACK> 
R:<STX>6O|1|||^^^HBsAg<CR><ETX>75<CR><LF> 
S:<ACK> 
R:<STX>7R|1|^^^HBsAg|59.882||<CR><ETX>33<CR><LF> 
S:<ACK> 
R:<STX>0L|1|N<CR><ETX>03<CR><LF>
S:<ACK> 
R:<EOT>

根据此消息,我正在获得除5P段之外的所有段的校验和。当我为这个段生成校验和时,生成的校验和与给定的校验和(3E)不匹配,我得到7C。

校验和:

  

校验和被编码为在或之后发送的两个字符       字符。校验和包括后面的第一个字符(       帧号)至或包括或。它是通过添加计算的       字符的二进制值,保持最低有效8位       结果。

我不明白是什么问题?这个消息有问题还是别的什么?我正在使用Java。

1 个答案:

答案 0 :(得分:0)

您的问题是缺少一些背景信息。这种方式很难回答。

你检查过德国变形虫吗?您的5P细分似乎容易出现特殊字符:Mueller ^ Fritz