美文网首页
字节 byte

字节 byte

作者: 杰子他爸 | 来源:发表于2019-05-31 14:16 被阅读0次

  1 byte = 8 bit

1、获取个 Byte 的各个 Bit 值 

/**

     * 把byte转为字符串的bit

     */  

public static String byteToBit(byte b) {  

return ""  

+ (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)  

+ (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)  

+ (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)  

+ (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);  

    }  

2、byte数组转换成十六进制(bytesToHexString)

public String bytesToHexString(byte[] bArr) {

    StringBuffer sb = new StringBuffer(bArr.length);

    String sTmp;

    for (int i = 0; i < bArr.length; i++) {

        sTmp = Integer.toHexString(0xFF & bArr[i]);

        if (sTmp.length() < 2)

            sb.append(0);

        sb.append(sTmp.toUpperCase());

    }

    return sb.toString();

}

3、byte[i] & 0xFF原因(byte为什么要&上0xff?)

// 保持二进制补码的一致性 因为byte类型字符是8bit的 而int为32bit 会自动补齐高位1 所以与上0xFF之后可以保持高位一致性 当byte要转化为int的时候,高的24位必然会补1,这样,其二进制补码其实已经不一致了,&0xff可以将高的24位置为0,低8位保持原样,这样做的目的就是为了保证二进制数据的一致性。

相关文章

  • 字、字节等存储单位说明

    字 word字节 byte位 bit1字(1w) = 2字节(2 byte)1字节(1 byte) = 8位(8 ...

  • int与byte[]的相互转换

    1.int 转 byte[] 低字节在前(低字节序) public static byte[] toLH(int ...

  • 字节位换算

    1Byte(Byte 字节) = 8Bit 1KB (Kilobyte 千字节) = 1024Byte, 1MB ...

  • int、char、long各占多少字节数

    1 byte(字节) = 8 bit(位) Java基本类型占用的字节数: 1字节: byte , boolean...

  • 字节byte

    字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。 一个英文字母(不分大小写)占一个字节的空间,一个...

  • 字节 byte

    1 byte = 8 bit 1、获取一个Byte的各个 Bit 值 /** *把byte转为字符串的bit *...

  • 文件读写

    计算机的硬盘在保存数据时都是byte by byte的字节挨着字节。 RandomAccessFile 作用:可以...

  • 详解字节流和字符流

    一、明确字符和字节的概念 字节:1 byte = 8 bit字符:1 char = 2 byte = 16 bit...

  • C# 高低字节转换的问题

    将byte数组(长度2,高字节在前,低字节在后),转成double数据; byte[] command2 = ne...

  • Java中基础类型分别占用多少字节?

    Java中基础类型分别占用多少字节? “字节”是byte,“位”是bit ;1 byte = 8 bit ; Ja...

网友评论

      本文标题:字节 byte

      本文链接:https://www.haomeiwen.com/subject/xcwwtctx.html