精华内容
下载资源
问答
  • Java byte

    2008-06-17 16:30:00
    java中一个byte占8bit, byte是有符号的,所以byte的范围是 -128~~~127。把byte转化成hex得string.如下:String result = String str = Integer.toHexString(temp); str = }result += str;} 在java中位运算,先...

    在java中一个byte占8bit, byte是有符号的,所以byte的范围是 -128~~~127。

    把byte转化成hex得string.如下:

    String result =

     

     

     

    String str = Integer.toHexString(temp);

     

    str =

    }

    result += str;

    }

     

    在java中位运算,先把byte扩展成int, 在把byte转成int过程中,会在int高位补上符号位。

    所以如果是负数byte那么转成的int后,后补的24位都是1。

    比如 -10得原码: 1000 1010 他的补码为: 1111 0110 如果扩展成int型,则为

    1111 1111 1111 1111.......... 1111 0110 此时用Integer.toHexString 输出结果为 fffffff6

    而期望结果应该是 F6,为了让结果是F6,那么要把byte扩展后的符号位清除掉,也就是用

    &ff 来实现。

    "0x";for (int i=0; i<bytes.length; i++) {int temp = bytes[i] & 0xff;if (str.length() != 2) {"0" + str; bytes[i] & 0xff 得用处是清楚符号位。
    展开全文
  • java byte数组如何截取

    千次阅读 2019-01-21 15:58:15
    java byte数组如何截取
                    byte数组截取当然要提到效率非常高的arraycopy,java中调用方式如下:
    System.arraycopy(src, srcPos, dest, destPos, length)

    参数解析:

    src:byte源数组
    srcPos:截取源byte数组起始位置(0位置有效)
    dest,:byte目的数组(截取后存放的数组)
    destPos:截取后存放的数组起始位置(0位置有效)
    length:截取的数据长度

    亲自测试过,效率很高。           

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • java byte转二进制字符串

    千次阅读 2017-01-20 14:18:17
    java byte转二进制字符串

    byte类型转二进制字符串的代码,废话不说,先上代码

    代码:


    byte tByte = -2;  
    String tString = Integer.toBinaryString((tByte & 0xFF) + 0x100).substring(1);  
    [java] view pl cop
    1. System.out.println("tString:" + tString);  

    执行结果:

    tString:11111110


    代码说明:

    1、主要用到了Integer.toBinaryString方法转化为二进制的。但这个方法的参数是int型,所以需要先转换为int型。

    2、转换为int型的方式:tByte & 0xFF

    tByte: -2  如果自动转换为int型依旧为-2,但是 -2的int型转化为二进制是11111111111111111111111111111110。

    因为Java中是以补码的方式显示内容的,-2的二进制原码是 10000000000000000000000000000010,转化为反码+1为补码,就是上述数据了。

    但是我们想要的是10000010的原码,补码为111111110。所以对上述数据进行 & 0xFF的操作。

    这一步看不懂的请看 java & 0xFF


    3、上述步骤后,显示的为如下了,那之后的操作又是做什么的呢。

    [java] view plain copy
    1. Integer.toBinaryString(tByte & 0xFF)  => 11111110 // tByte = -2  
    这个需要把tByte = 2,如下所示:

    [java] view plain copy
    1. Integer.toBinaryString(tByte & 0xFF)  => 10 // tByte = 2  
    那么 + 0x100后再截取后面的八位,就是填充字符串的了。


    小结,这种做法我是第一次见到,故收藏分享了。


    因借用了友人的代码,顺便替他宣传下博客


    https://saber-dncs.rhcloud.com/saber/index



    展开全文
  • java byte数组转long型

    千次阅读 2019-08-07 15:00:43
    java byte数组转long型 转载地址 java下没有无符号的整形(unsigned char,unsigned short,unsigned int,unsigned long), 字节流通信时往往需要把byte[]转成对应的整形,符号位处理不当会导致数据解析失败. 不同整形...

    java byte数组转long型

    转载地址
    java下没有无符号的整形(unsigned char,unsigned short,unsigned int,unsigned long), 字节流通信时往往需要把byte[]转成对应的整形,符号位处理不当会导致数据解析失败.
    不同整形对应的字节长度不一, 可以统一为long来处理.
    byte占一个字节,如果不做处理直接付给int或long类型的变量,当高位为1时会导致得到不正确的值(负数), 如果与0xff(或者0xffL)做位与就可以保证得到byte本身的值.

    public class Main {
        public static void main(String[] args) {
            byte[] bs1 = new byte[1];
            bs1[0] = (byte) 0xf2;
            
            byte[] bs2 = new byte[2];
            bs2[0] = (byte) 0xa2;
            bs2[1] = 0x32;
            
            byte[] bs3 = new byte[4];
            bs3[0] = (byte) 0xe2;
            bs3[1] = 0x12;
            bs3[2] = 0x22;
            bs3[3] = 0x52;
            
            byte[] bs4 = new byte[8];
            bs4[0] = (byte) 0x82;
            bs4[1] = 0x12;
            bs4[2] = 0x22;
            bs4[3] = 0x32;
            bs4[4] = 0x42;
            bs4[5] = 0x52;
            bs4[6] = 0x62;
            bs4[7] = 0x72;
    
            try {
                System.out.printf("value1: %016x\n", bytes2long(bs1));
                System.out.printf("value2: %016x\n", bytes2long(bs2));
                System.out.printf("value3: %016x\n", bytes2long(bs3));
                System.out.printf("value4: %016x\n", bytes2long(bs4));
    
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    
        /* (non-Java-doc)
         * @see java.lang.Object#Object()
         */
        public Main() {
            super();
        }
        
        static long bytes2long(byte[] bs)  throws Exception {
            int bytes = bs.length;
            if(bytes > 1) {
            if((bytes % 2) != 0 || bytes > 8) {
                throw new Exception("not support");
            }}
            switch(bytes) {
            case 0:
                return 0;
            case 1:
                return (long)((bs[0] & 0xff));
            case 2:
                return (long)((bs[0] & 0xff) <<8 | (bs[1] & 0xff));
            case 4:
                return (long)((bs[0] & 0xffL) <<24 | (bs[1] & 0xffL) << 16 | (bs[2] & 0xffL) <<8 | (bs[3] & 0xffL));
            case 8:
                return (long)((bs[0] & 0xffL) <<56 | (bs[1] & 0xffL) << 48 | (bs[2] & 0xffL) <<40 | (bs[3] & 0xffL)<<32 | 
                        (bs[4] & 0xffL) <<24 | (bs[5] & 0xffL) << 16 | (bs[6] & 0xffL) <<8 | (bs[7] & 0xffL));
            default:
                throw new Exception("not support");     
            }
            //return 0;
        }
    
    }
    
    展开全文
  • java byte数据转换和处理总结

    千次阅读 2018-03-29 22:51:44
    java byte数据转换和处理总结java程序或Android程序的socket数据传输,都是通过byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。
  • JAVA byte数组 CRC32 校验 并将得到的结果转化为byte数组 byte[] mCrc32Buf = new byte[4]; public static byte[] get4byteCRC(byte[] buffer){ CRC32 crc32 = new CRC32(); crc32.update(buffer); mCrc32Buf[0]...
  • java byte操作

    千次阅读 2017-11-24 15:38:57
    有时候,我们需要把一段字符串转换成相应的byte[],java给我了我们操作方式byte.parsebyte,例如下面 byte b = new Byte("01"); byte c = Byte.parseByte("11", 16); 前2个都没有问题,但是如何这个数是大于0x8x...
  • java byte数组打印

    万次阅读 2017-08-22 11:41:55
    Byte[] bs = {0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F}; System.out.println(Arrays.toString(bs)); 打印输出结果 [15, 31, 47, 63, 79, 95, 111] 更加通用一点的方式 byte[] bs = hexStringToByteArray("...
  • JAVA Byte数组与十六进制互转

    千次阅读 2017-03-10 20:45:53
    JAVA Byte数组与十六进制互转
  • JAVA byte十六进制存储

    千次阅读 2016-03-18 10:06:41
    JAVA byte十六进制存储 a0如何变为-96 互转机制 byte是一个字节保存的,有8个位,即8个0、1。 8位的第一个位是符号位, 也就是说0000 0001代表的是数字1 1000 0000代表的就是-1 所以正数最大位0111 1111,也...
  • 最近项目遇到一个大坑(接口文档竟然说要传 byte[],... java byte[] 序列化之后还是 byte[], 然而 .NET 则变成了 Base64(NO_WRAP)字符串; 因此: java 这边需要手动将 byte[] 转成 Base64 字符串: Base64.en...
  • java byte转int 互相转换原理详解

    万次阅读 多人点赞 2016-03-02 14:56:34
    java byte转int 互相转换原理详解 原码,反码,补码概念
  • JAVA byte[]数据类型之间的转换

    千次阅读 2018-03-27 10:55:52
    JAVA byte[]、十六进制字符串、整形(Long、int)数据类型之间的转换 在编程中我们经常遇到数据类型之间的转换,现在我们来总结一下,有更好的请大家共享指导: 十六进制字符串数据 转 byte[] byte[] 转 十六进制字符...
  • java Byte 方法详解

    千次阅读 2019-08-27 11:51:32
    直接来码 ... public class ByteDamo { static void m1() { //byte 的构造函数 Byte bb=new Byte((byte) 333); System.out.println(bb); Byte jByte=new Byte("33"); System.out.println(jByte)...
  • Android:java byte数组文件读写学习实例 一、该实例把byte写入一个image_data.txt文件,然后再用两种方法读取image_data.txt文件里面的byte内容然后分别写入image_read_and_write_data.txt、image_read_...
  • Java byte数组与十六进制字符串互转

    千次阅读 2016-05-27 23:23:26
    Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) ...Java 加密解密之对称加密算法PBEJava byte数组与十六进制字符串互转Javabyte用二
  • Java byte 转化为 String

    万次阅读 2018-10-13 16:59:16
    1、Javabyte 转化为 String,代码如下 package nice.com.mian; import java.io.UnsupportedEncodingException; public class StringMain { public static void main(String[] args) throws Exception { ...
  • Java byte的运算

    千次阅读 2018-06-24 12:56:23
    byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6); ... 被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10... 而b1和b2是byte类型,java中进行计算时候将他...
  • C#到Java byte类型冲突的解决

    千次阅读 2013-09-25 15:11:16
    经过跟踪,发现问题出在C#和Java byte类型的区别上:在C#里 byte类型是无符号的,而Java里是有符号的,所以C#里的129到Java里就成了负数。 发现了问题,解决就比较容易了,针对Javabyte,采用Int来进行存储。 ...
  • JAVA byte[] 转 String

    2010-11-03 18:22:00
    JAVA byte[] 转 String byte[] RecCount = new byte[6]; // 读文件头 head=randomFile.read(RecCount); //byte[] 转 String String cont= new String(RecCount);
  • Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串
  • java byte 和 int 转换

    万次阅读 2019-01-02 16:00:29
    一个byte占8位,一个int占32位。 int 转byte时,需要&amp;0xff,去掉前面的24位。因此当int是正数时,转出的byte可能是负数 byte转int时,需要&amp;0xff,补足前面的24位。因此如果byte是负数,转成int时...
  • Java byte数据类型

    千次阅读 2017-03-22 09:05:05
    字节(byte)数据类型是8位有符号Java原始整数数据类型。其范围是-128至127(-2^7至2^7-1)。 字节类型是Java中可用的最小整数数据类型。当程序使用其值在-128到127范围内的大量变量或在文件或网络中处理二进制数据时,...
  • java byte数组插入算法

    千次阅读 2019-11-11 17:05:43
    java开发中经常使用到插入数组,比如在某个元素后添加新元素,并将之后的元素后移,下面为插入数组的例子 byte[] msgTi = new byte[]{0x7e, 0x03, 0x7d, 0x00, 0x7e, 0x03, 0x7d}; Log.e("转义前", Arrays....
  • Java byte[]和short[]之间的相互转换

    千次阅读 2013-04-25 00:21:46
    Java byte[]和short[]之间的相互转换 做记录,方便使用。 以如下为例: (1) 有如下byte数组,需将其转换为short数组。 byte [] ba = new byte[128]; 转换方法: short [] sa = new short[64]; ByteBuffer....
  • java byte 字节负数

    万次阅读 2015-12-09 16:05:09
    由于通讯协议中长度使用byte字节来表示,但在java中长度超过127的时候会变成负数,所以需要保证得到的长度是正数byte b & 0xFF http://www.blogjava.net/orangelizq/archive/2008/07/20/216228.html 在...
  • java byte 导出excel

    千次阅读 2017-06-09 09:28:23
    1.当excel的内容读取后转化成byte[]如何导出?导出时要在httpservetResponse 设置一些头部信息
  • JAVA byte赋值的问题

    万次阅读 2016-09-10 18:14:22
    这两天利用java进行消息编解码的时候,总是碰到一个问题,需要给byte赋值. 如 需要将第一位地址的值 aa赋给一个变量,就很是比较麻烦。今天写了一个,记录下来 public static byte generateByte(String s) { ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,419
精华内容 24,567
关键字:

javabyte

java 订阅