482  
查询码: 00000430
java中byte, int的转换
作者: 系统管理员 于 2015年11月11日 发布在分类 / 技术研发 / 开源组件 ,于 2017年10月22日 编辑
采用 操作 字节 转换 编解码 例如 进行 不变 解码 最低

最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码、补码的说明依旧头疼,还是记下些实用的方法吧。

int -> byte

可以直接使用强制类型转换:

byte b = (byte) aInt;

这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了。
对于通过InputStream.read()获取的int,可采用这个方法将值还原。

byte -> int

这里有两种情况,一种是要求保持值不变,例如进行数值计算,可采用强制类型转换:

int i = (int) aByte;

另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,

则需要采用位操作:

int i = b & 0xff;

int InputStream.read()
0人参与


 历史版本

备注 修改日期 修改人
CREAT 2017-10-22 12:20:19[当前版本] 系统管理员

  目录
    wcp知识库系统-京ICP备15024440号-1 -V 5.1.9 -wcp