1

以下のドキュメントはモジュールに関するもので、現在は「廃止」されており、私はその代替品を書いています。交換を書く前に、条件を正しくしたいと思います。ドキュメンテーションの用語が間違っていることは知っています。すぐにハッキングされたので、このプロジェクトのハードウェア側に取り組んでいる大学に、私が作成したプログラムの使用方法を指示することができました。完全なドキュメンタリーは、興味のある人はここで見つけることができます(私たちの wiki に書かれて追加されたものについて)。この Web サイトは、特定の IPS のみが利用できる場合があります (ISP によって異なります - 大学のインターネット接続が機能する可能性が最も高いです)。 、SVN リポジトリは非公開です。

そのため、間違っている用語がたくさんあります。そのような。
デリミネータ
値式を含む書式設定された文字列(現在は間違っている可能性がありますが、言いにくいです)

これらの正しい用語は何ですか。そして、私は他にどんな間違いを犯しましたか


    ==== 値式を含む書式設定された文字列 ====
    実際のプログラムを開始する前に、次の説明を行います。
    「値式を含むフォーマットされた文字列」と、それらの値をエンコードする方法。

    「値式を含む書式設定された文字列」は、低レベルの送信を行う際の核となります。
    10 進数の 65、16 進数の 41、2 進数の 0100 0001、および ASCII 文字 'A' はすべて同じ 2 進数表現であることがわかっているため、どちらを使用しているかを示すために、一連の区切り記号があります。
    # は 10 進数
    $ は 16 進数
    @ はバイナリです
    区切り記号なし、次に ascii。

    デリミネータの後の符号インジケータの配置はオプションです。負の数を送信する場合は必須です。

    複数の値を同じ文字列に入れることができます。
    例: "a#21@1001111$-0F"

    「値式を含むフォーマット済み文字列」内のすべての値は、8 バイトに収まる必要があるため、-128 から 255 までの範囲内でなければなりません (他の値はエラーを引き起こします)。負の数は、2 進数形式で 2 の補数表現を持ちます。

    asciiにはいくつかの問題があります-送信できない文字です(将来のバージョンでは、asciiに区切り記号とその区切り記号を機能させるためのコードを追加することで修正されると思います)。
    送信できない文字:
     * 区切り文字: $#@
     * これらの数字を含む可能性のある値の直後に書かれた数字:
      * 10 進数は 0,1,2,3,4,5,6,7,8,9
      * 16 進数の場合は 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,A,B,C,D,E,F
      * バイナリの場合は 0,1
4

2 に答える 2