java 对 字节的一些操作

java 对 字节的一些操作


1.将单个字节转换成二进制字符串
	/**
     * 把单个字节转换成二进制字符串
     */
    public static String byteToBin(byte b) {
        String zero = "00000000";
        String binStr = Integer.toBinaryString(b & 0xFF);
        if(binStr.length() < 8) {
            binStr = zero.substring(0, 8 - binStr.length()) + binStr;
        }
        System.out.println(binStr);
        return binStr;
    }

2.获取单个字节中某一位bit
	/**
     * 获取单个字节中某一位bit的值,采用字符取值方式
     */
    public static Integer getBitByByte(byte b, int index) {
        if(index >= 8) { return null; }
        String binStr = byteToBin(b);
        return Integer.parseInt(String.valueOf(binStr.charAt(index)));
    }
3.翻转byte
public static byte fzByte(byte b){
        return (byte) ~b;
    }

4. 将有符号的两个byte转成int
	/**
     * 将有符号的两个byte转成int
     * 
     * 有符号的 二进制 在内存中 用补码表示。这里先是转换成原码(翻转 + 1),再求值。
     */
    public static Integer getTwoByteToInt(byte[] b){
        if (b.length != 2) return null;
        return fzByte(b[0]) & 0xFF << 8 | (fzByte(b[1]) + 0x01) & 0xFF;
    }

很少接触对byte、二进制、十六进制等等数据操作,做个记录。



有什么疑问可以评论,一起讨论。

未完待续…
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值