1
我存储在DB中的列值或者作为:检测一个字节缓冲区包含int或只是一个字节[]
- 一个空字节数组
new byte[0]
- int值
- 一个非空
byte[]
该列的值的检索我检索它作为一个字节缓冲区&我需要检测是否存储的整数,空字节[],或者非空字节[]。
我该如何检测正在读取的字节缓冲区,以上3种可能的选项中存储了哪些内容?
我存储在DB中的列值或者作为:检测一个字节缓冲区包含int或只是一个字节[]
new byte[0]
byte[]
该列的值的检索我检索它作为一个字节缓冲区&我需要检测是否存储的整数,空字节[],或者非空字节[]。
我该如何检测正在读取的字节缓冲区,以上3种可能的选项中存储了哪些内容?
你不能,毕竟他们只是一堆比特。你需要一个外部指标。它可以是第二列或输入的第一位。
如果您加载了一个空缓冲区,则存储空的byte[]
。如果不是空的,请检查第一位(或简单说明是字节)。同意某些值表示其余值为byte[]
,而其他值表示编码为int
。当然,在此之前,您还必须存储该指标。
可能是通过查看byte []的长度或许!?? int应该有4个字节的长度,不是吗?但4字节的长度不会保证它是否是一个int ..可能是或可能不是.. –
@ user01:正好。所以如果返回的缓冲区是空的,它是一个空的'byte []'。但是4个字节不能表示任何东西,除非你禁止'byte [4]'。 –
假设我将非空字节[]情况的使用限制为长度为1的字节[],那么我也许可以(!?)清楚地检测到3个选项之一? –