我帮你解释一下:这个非常简单,首先介绍一下LSB隐藏的原理,原始图像数据一般采用字节表示,每个字节是8个比特,最后一个比特就是所谓的LSB(Least significant bit)-就是最不重要位的意思,LSB隐藏就是将要隐藏的信息(一般已经转换为比特)替换原始图像数据的LSB比特。
下面介绍一下这段代码的意思:m_data表示原始数据,strByteBuffer表示将要隐藏的信息,不过这里还是字节的形式,(strByteBuffer[i]>>(7-j)) & 0x01表示就是将strByteBuffer的第i个字节的第j个比特取出来,注意,取出来的值不是0就是1(因为最后与0x01进行与操作,0x01表示是十六进制,二进制实际上为00000001,就相当于取出最末一个比特),(m_data[i*8+j+32] & 0xfe)表示将原始数据里面的将最末一比特置0后的值取出来,然后加上刚才得到的待隐藏的信息,就相当于用隐藏的信息替换了原始数据的最后一比特的信息。注意0xfe是表示16进制,二进制为11111110。
11111110。