当前位置: 首页 > 知识库问答 >
问题:

JAVA字节操作

隗锐进
2023-03-14

我想读取一个二进制文件,并对每个字节做一些操作。我想测试我是否正确地操作了字节。我想将一个字节variable1设置为“00000000”,然后将另一个字节variable2设置为“00001111”,或者它们是newvariable=variable1variable2,将newvariable<<4位,然后打印出int值。

 byte a = 00000000;
 //Convert first oneByte to 4 bits and then xor with a;
 byte b = 00001111;
 byte c = (byte)(a|b);
 c = c << 4;
 System.out.println("byte= " + c + "\n");

共有1个答案

於德馨
2023-03-14

你需要在那些数字前面放一个'0B'来表示二进制常数。数字00001111在八进制中被解释为文字,在十进制中是585。最大字节是127(因为它已经签名)。请尝试0b00001111

作为文本,它们仍然是int,因此根据赋值的位置,还可能需要显式地向下强制转换为byte

 类似资料:
  • 问题内容: 我正在寻找一个带有直观API的维护良好的Java字节码操作库。那里似乎有很多人。有什么建议可以尝试吗? 问题答案: 对您问题的最佳答案将取决于您的特定需求和目标;如果您可以扩展自己要完成的工作,那么我也许可以提供更针对性的答复。 取而代之的是,以我的经验,ASM可能提供了成熟度,灵活性和易用性的最佳组合: 它的开发相对活跃:即使最新版本是2009年6月,开发人员仍会定期对其VCS进行提

  • 本文向大家介绍Javassist如何操作Java 字节码,包括了Javassist如何操作Java 字节码的使用技巧和注意事项,需要的朋友参考一下 一、开篇 说起 AOP 小伙伴们肯定很熟悉,无论是 JDK 动态代理或者是 CGLIB 等,其底层都是通过操作 Java 字节码来实现代理。常用的一些操作字节码的技术有 ASM、AspectJ、Javassist 等。 ASM 其设计和实现是尽可能小而

  • 问题内容: 我需要从文件中读取字节。 使用和使用之间是否有区别(例如,效率,内存,运行时,复杂性和代码的优雅程度)? 我使用的唯一方法是readByte()。 类似地,对于其它方向,是否有之间的差,并如果需要的所有被writeByte()? (双向事实不计算在内,读取和写入未连接且无法共享)。 还有其他对象更适合这种阅读和写作吗? 问题答案: 如果 您仅执行顺序访问,那么它们本质上是等效的。但是,

  • 当我们尝试使用增量运算符和加法运算符来递增一个字节变量时会发生什么。 请给我来源,我们可以在哪里找到这样的小东西释放?请帮帮我。

  • 问题内容: 如果我在Java中有一个int用作Android颜色(用于在Canvas上绘制),我该如何操作该int的alpha分量?例如,如何使用操作来做到这一点: 理想情况下,最好将第一个字节乘以任何值,而不是仅将字节设置为静态值。 问题答案: 查看Color类。 您的代码看起来像这样。 因此,将其包装在方法中可能类似于: 然后调用它以将透明度设置为50%: 我认为使用提供的Color类比直接自

  • 除了基本的读写操作, ByteBuf 还提供了它所包含的数据的修改方法。 随机访问索引 ByteBuf 使用zero-based 的 indexing(从0开始的索引),第一个字节的索引是 0,最后一个字节的索引是 ByteBuf 的 capacity - 1,下面代码是遍历 ByteBuf 的所有字节: Listing 5.6 Access data ByteBuf buffer = ...;