私はベンコーディングと少し混乱しています。
文字列をベンコードするときの仕様によると、次の形式を使用する必要があります。
長さ:文字列
文字列スパムは4:spamになります
私の質問: 4は、コード化された文字列のシンボルの数量、または utf-8 バイトの数量ですか?
たとえば、文字列のgâteauをベンコードするとします。
この文字列の長さとして何を指定する必要がありますか?
7を指定する必要があると思います。最終的な形式は7:gâteauにする必要があります
これは、シンボルâが utf-8 エンコーディングに従って 2 バイトを使用し、この文字列の残りのすべてのシンボルが utf-8 エンコーディングに従って 1 バイトを使用したためです。
また、コード化されたデータを Java String インスタンスに格納することは推奨されていないと聞きました。
つまり、データ ブロックをベンコードするときは、バイト配列として格納する必要があり、エンコーディングの問題を回避するために Java String 値に変換しないでください。
私の仮定は正しいですか?