二进制数据流存放在byte数组中,我想提取出前4个比特代表的数字,该如何处理呢?

Eric1006 2008-01-14 12:48:17
二进制数据流存放在byte数组中,我想提取出前4个比特代表的数字,该如何处理呢?
...全文
611 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2008-01-14
  • 打赏
  • 举报
回复
4个比特?那只能用位移运算了...
haiwangstar 2008-01-14
  • 打赏
  • 举报
回复
只有4个Bit能转换成一个数字吗
也可以
txt_ly 2008-01-14
  • 打赏
  • 举报
回复
4个比特代表的数字,//数字是什么数据类型的,c#里最小数据类型也是一个字节
只有4个Bit能转换成一个数字吗
Hans_wu 2008-01-14
  • 打赏
  • 举报
回复
Convert.string(byte[0],2);
Convert.string(byte[1],2);
Convert.string(byte[2],2);
Convert.string(byte[3],2);
apollolb2005 2008-01-14
  • 打赏
  • 举报
回复
用Array.copy 取得前1byte 之后 结果右移4位
haiwangstar 2008-01-14
  • 打赏
  • 举报
回复
b>>4;
apollolb2005 2008-01-14
  • 打赏
  • 举报
回复
Array.copy
viena 2008-01-14
  • 打赏
  • 举报
回复
规则?
Eric1006 2008-01-14
  • 打赏
  • 举报
回复
byte b 的二进制为10100000,怎么直接获取b的前4位代表的数字。
1Byte是8Bit,我只要前4位
vrhero 2008-01-14
  • 打赏
  • 举报
回复

// 摘要:
// 返回由字节数组中指定位置的四个字节转换来的 32 位有符号整数。
//
// 参数:
// value:
// 字节数组。
//
// startIndex:
// value 内的起始位置。
//
// 返回结果:
// 由四个字节构成、从 startIndex 开始的 32 位有符号整数。
public static int BitConverter.ToInt32(byte[] value, int startIndex);


例...

int value=BitConverter.ToInt32(bytearray,0);
没有积分的私聊我 看到消息百分百发给你 1、算法核心: 1、读取图片A,获得其RGB三个通道数据并转换成三个矩阵a1,a2,a3。 2、读取文件B,将其转换成比特流b。 3、遍历b,得到比特b1,b2,b3,b4,b5,b6等等,将b1代替a1第一个元素的最低位,将b2代替a2第一个元素的最低位,将b3代替a3第一个元素的最低位,将b4代替a1第二个元素的最低位,以此类推。 2、具体实现: 1、隐写: 1、使用java ImageIO读取图片,获取其RGB通道信息。 2、使用java NIO读取被嵌入的文件,将其转换为byte数组,需要特别指出的是原生方法得到是byte类型的数组,但是算法实现需要更加精细的操作,所以还需要对得到的byte数组进行进一步的转换封装,将其转换成形如10101的数组。例如,读取文件得到byte数组的第一个元素为63,需将63转换为00111111数组。并且保存好文件的长度。 3、按照算法,遍历形如10101的数组 1、如果遍历到的值为0,将矩阵对应的矩阵元素与0xfe进行与运算,将最低位置为0 2、如果遍历到的值为1,将矩阵对应的矩阵元素与0x01进行或运算,将最低位置为1 4、将步骤3得到的经过经过隐写的矩阵写为一张新的图片。 3、读取 1、使用java ImageIO读取图片,获取其RGB通道信息。 2、使用隐写步骤3得到的文件长度,遍历图片的像素矩阵,需要特别指出的是因为后续步骤还需要进行进一步的转化,所以这一步是将得到的“100100......”序列每八位封装为一个数组,最终得到一些数组集合,每个数组包含八位二进制序列。 3、将步骤2得到的数组进行转换,例如00111111应该转换为byte类型数值为63的数字,10111111转换为-63。这一步会得到一个byte类型的数组。 4、将步骤3得到的byte类型数组写入文件,需要指出的是写入的文件形式应该和隐写模块步骤二中读入的文件形式一致。 3、程序使用方法 1、安装Java8 2、使用命令行进入jar文件所在目录下,使用命令 java -jar 2016115130.jar 3、安装提示输入嵌入和被嵌入的文件名字,注意路径问题

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧