シリアライズ/プロトコル形式では、符号なしの64ビット整数まで符号化する必要がありますが、これはまだ実装が簡単な(つまり、専用の圧縮アルゴリズムを探しているわけではありません)必要があります。私は、次のことを考えた:オーバーフロービットを持つ数値のバイナリストレージ...フォーマットはどのように呼び出されますか?
if n<128
take bits 0..6 for representing n, set overflow bit 7 to 0
store one byte
if n>=128 and n<16384
take bits 0..6 of byte 1 as bits 0..6 of n, set overflow bit 7 of byte 1 to 1
take bits 0..6 of byte 2 as bits 7..13 of n, set overflow bit 7 of byte 2 to 0
store byte 1 followed by byte 2
if n>=16384 and n<2^21
...set overflow bit 7 of byte 2 to 1... (and so on)
私はこのことについて二つの質問している:どのようにこの形式は
と呼ばれているのですか?どこで実装を検索できますか?
これは、ソケットを介して送信されるバイナリプロトコル用です。小さな番号< 128が頻繁に送信されます。特別な処理がそれに値すると思いますか?
すぐにお返事ありがとうございます。確かに、私は知られているプロトコルを使用したいので、それは私が求めている理由です。私はUTF8との類似点を認識していますが、これは数字です。エンコーディングに7ビットのバイトベースのフォーマットを使用し、1オーバーフロービットを使用するのは自然であり、私がそれを発明したばかりであるとは思えません。以前誰も見たことがありませんか? – user601395