これはデータ1です
RE00002200050046\00 0.00 0.1 0.125.9\0#####- 14 0##### \0 0##### 141.0\004.00 0: 00.000.0\00 4: 011:27 0: 015:27#\0###########2.00.0\0
私が持っている別のデータは This is DATA 2 です
RE000022601\0500460 0.00 0.1\0 0.236.8####\0# 57- 2#####- 3#####\0- 601.004.0\00 4: 00.000.\000 4: 013:37 0\0: 017:37#####\0#######2.00.\00
上記のデータは、病院のマシンから取得した応答です。上記の値を解析し、指定された形式に従って入力する必要があります。
BYTEs 2 2 4 128 2 2
+---------+--------+------------+-----------------+--------+-------+
| RE | 00 | machine no| Data part | Check | CRC |
| | | | | sum | |
+---------+--------+------------+-----------------+--------+-------+
DATA 1 からわかるように、私のデータ部分は "000500.." から始まり、DATA 2 私のデータ部分は "601\0500..." から始まります。 "「DATA 1」からの長さは 3 バイトで、その値は「46」として取得されますが、「DATA 2」からはその値が「460」として取得されます。実際には、その値は「460」である必要があります。DATA 1 のようなデータを取得すると、「血液ポンプの流れ」が「3 バイト」であるため、値「46\0」が取得され、「0」 が追加されるため、解析ロジック全体が影響を受けます。 「血液ポンプ流量」は「460」である必要がありますが、別のフィールドに移動します。 上記は、他のフィールドでも何度も取得する1つのケースにすぎません。この問題を解決する方法。
DATA 1 と DATA 2 は、マシンから取得したバイナリ データです。