1

次のいずれかとして、列の値をDBに保存します。

  1. 空のバイト配列new byte[0]
  2. int 値
  3. 空でないbyte[]

列の値を取得する際に、Bytebuffer として取得し、整数、空のバイト []、または空でないバイト [] を格納しているかどうかを検出する必要があります。

読み取り Bytebuffer を見て、上記の 3 つの可能なオプションの中で何が格納されているかを検出するにはどうすればよいですか?

4

1 に答える 1

1

できません。結局のところ、それらは単なるビットの山です。外部インジケーターが必要です。これは、入力の 2 番目の列または最初のビットのいずれかです。

空のバッファをロードした場合、空byte[]が格納されました。空でない場合は、最初のビット (または簡単にするためにバイト) を確認します。byte[]一部の値は残りがエンコードされていることを示し、他の値はエンコードされていることを示していることに同意しますint。もちろん、その前にそのインジケーターも保存する必要があります。

于 2012-10-06T19:20:40.957 に答える