精华内容
下载资源
问答
  • 下面小编就为大家带来一篇java int转byte和long转byte的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...
  • 最近写通信协议相关的项目, 自己封装了一套数据转换, 主要用于各种数据跟byte[]数组的转换, 可以直接哪去使用 /** * @dec: byte 数据转换类 * @author: 鸠摩智 * @date: 2020/6/15 */ public final class ...
    • 最近写通信协议相关的项目, 自己封装了一套数据转换, 主要用于数字类型跟byte[]数组的转换, 可以直接拿去使用
    
    /**
     * @dec: byte 数据转换类
     * @author: 鸠摩智
     * @date: 2020/6/15
     */
    public final class ByteUtils {
    
    	private ByteUtils() {}
    
    	/**
    	 * long值转化为byte数组
    	 *
    	 * @param value 数值
    	 * @param isBig 是否大端模式
    	 * @return
    	 */
    	public static byte[] longToByteArr(long value, boolean isBig) {
    		return numberToByteArr(value, isBig, 8);
    	}
    
    
    	/**
    	 * int值转化为byte数组
    	 *
    	 * @param value 数值
    	 * @param isBig 是否大端模式
    	 * @return
    	 */
    	public static byte[] intToByteArr(int value, boolean isBig) {
    		return numberToByteArr(value, isBig, 4);
    	}
    
    
    	/**
    	 * short值转化为byte数组
    	 *
    	 * @param value 数值
    	 * @param isBig 是否大端模式
    	 * @return
    	 */
    	public static byte[] shortToByteArr(short value, boolean isBig) {
    		return numberToByteArr(value, isBig, 2);
    	}
    
    
    	/**
    	 * byte[] 数组转为 int数值
    	 *
    	 * @param arr   数组
    	 * @param isBig 是否大端模式
    	 * @return
    	 */
    	public static Integer byteArrToInt(byte[] arr, boolean isBig) {
    		return byteArrToNumber(arr, isBig, 4).intValue();
    	}
    
    
    	/**
    	 * byte[] 数组转为 short数值
    	 *
    	 * @param arr   数组
    	 * @param isBig 是否大端模式
    	 * @return
    	 */
    	public static Integer byteArrToShort(byte[] arr, boolean isBig) {
    		return byteArrToNumber(arr, isBig, 2).intValue();
    	}
    
    	/**
    	 * byte[] 数组转为 long数值
    	 *
    	 * @param arr   数组
    	 * @param isBig 是否大端模式
    	 * @return
    	 */
    	public static Long byteArrToLong(byte[] arr, boolean isBig) {
    		return byteArrToNumber(arr, isBig, 8).longValue();
    	}
    
    
    
    	/**
    	 * byte 转为一个数值
    	 *
    	 * @param arr
    	 * @param isBig 是否
    	 * @param trim 长度 long=8, int=4, short=2   
    	 * @return 
    	 */
    	private static Number byteArrToNumber(byte[] arr, boolean isBig, int trim) {
    
    		if (arr == null || arr.length == 0) {
    			return null;
    		}
    
    		// 舍弃掉数组长度超过8的部分
    		if (arr.length > trim) {
    
    			for (int i = trim; i < arr.length; i++) {
    				arr[i] = 0;
    			}
    		}
    		long total = 0;
    		for (int i = 0; i < arr.length; i++) {
    
    			long arrVal = arr[i] & 0xFF;
    			arrVal = isBig ? arrVal << ((arr.length - i - 1) * 8) : arrVal << ((i) * 8);
    			total |= arrVal;
    		}
    
    
    		return total;
    	}
    
    
    	/**
    	 * 一个数值转为byte数组
    	 *
    	 * @param number 数值
    	 * @param isBig  是否大端模式
    	 * @param trim   长度 long=8, int=4, short=2
    	 * @return
    	 */
    	private static byte[] numberToByteArr(Number number, boolean isBig, int trim) {
    
    
    		if (number == null) {
    			return null;
    		}
    
    		if (trim <= 0) {
    			return null;
    		}
    		long value = number.longValue();
    
    		byte[] arr = new byte[trim];
    
    		for (int i = 0; i < trim; i++) {
    
    			long val = value >> (i * 8);
    			val &= 0xff;
    			if (isBig) {
    				arr[trim - i - 1] = (byte) val;
    			} else {
    				arr[i] = (byte) val;
    			}
    
    		}
    
    		return arr;
    	}
    
    
    }
    
    
    
    
    展开全文
  • java int转byte数组

    万次阅读 2019-03-12 17:33:22
    各种基本数据类型转byte数组并反转 目录 各种基本数据类型转byte数组并反转 int byte[] 低字节在前(低字节序) int byte[] 高字节在前(高字节序) byte[] int(short类型也一样,返回值改成shor.....

                                    各种基本数据类型转byte数组并反转


    目录

                                    各种基本数据类型转byte数组并反转

     

    int 转 byte[]   低字节在前(低字节序)

    int 转 byte[]   高字节在前(高字节序)

    byte[] 转 int(short类型也一样,返回值改成short即可) 低字节在前(低字节序)

    byte[] 转 int(short类型也一样,返回值改成short即可) 高字节在前(高字节序)


    int 转 byte[]   低字节在前(低字节序)

    public static byte[] toLH(int n) {  
      byte[] b = new byte[4];  
      b[0] = (byte) (n & 0xff);  
      b[1] = (byte) (n >> 8 & 0xff);  
      b[2] = (byte) (n >> 16 & 0xff);  
      b[3] = (byte) (n >> 24 & 0xff);  
      return b;  
    }

    int 转 byte[]   高字节在前(高字节序)

    public static byte[] toHH(int n) {  
      byte[] b = new byte[4];  
      b[3] = (byte) (n & 0xff);  
      b[2] = (byte) (n >> 8 & 0xff);  
      b[1] = (byte) (n >> 16 & 0xff);  
      b[0] = (byte) (n >> 24 & 0xff);  
      return b;  
    }

    byte[] 转 int 低字节在前(低字节序)

    public int toInt(byte[] b){
        int res = 0;
        for(int i=0;i<b.length;i++){
            res += (b[i] & 0xff) << (i*8);
        }
        return res;
    }

    byte[] 转 int 高字节在前(高字节序)

    public static int toInt(byte[] b){
        int res = 0;
        for(int i=0;i<b.length;i++){
            res += (b[i] & 0xff) << ((3-i)*8);
        }
        return res;
    }

     

    展开全文
  • 下面小编就为大家带来一篇基于javabyte数组与int类型的转换(两种方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 做数据测试时用到的一个工具类,实现java基本数据类型与byte数组的转换,且会自动补0,如int类型,转换后绝对是4位数组import java.math.BigInteger; import java.util.ArrayList; import java.util.List;public ...

    做数据测试时用到的一个工具类,实现java基本数据类型与byte数组的转换,且会自动补0,如int类型,转换后绝对是4位数组

    import java.math.BigInteger;
    import java.util.ArrayList;
    import java.util.List;
    
    public class NumberConvertByte {
    
        private static final int BYTE_BIT_LENGTH = 8;
        private static final int INT_BYTE_LENGTH = 4;
        private static final int SHORT_BYTE_LENGTH = 2;
        private static final int BYTE_BYTE_LENGTH = 1;
    
        public static Byte[] intToBytes(int number) {
            Byte[] bytes = new Byte[INT_BYTE_LENGTH];
            for (int i = 0; i < INT_BYTE_LENGTH; i++) {
                bytes[i] = (byte) (number >> (BYTE_BIT_LENGTH * i));
            }
            return bytes;
        }
    
        public static  Byte[] shortToBytes(short number) {
            Byte[] bytes = new Byte[SHORT_BYTE_LENGTH];
            for (int i = 0; i < SHORT_BYTE_LENGTH; i++) {
                bytes[i] = (byte) (number >> (BYTE_BIT_LENGTH * i));
            }
            return bytes;
        }
        public static  Byte[] byteToBytes(Byte number) {
            return new Byte[]{number};
        }
        public static  int bytesToInt(Byte[] bytes) {
            byte[] bytes1=new byte[bytes.length];
            for (int i = 0; i < bytes1.length; i++) {
                bytes1[i]=bytes[i];
    
            }
            return new BigInteger(bytes1).intValue();
        }
    
        //合并数组
        public static  Byte[] mergeBytes(Byte[] ... bytes) {
            List<Byte> list=new ArrayList();
            for (Byte[] aByte : bytes) {
                for (byte b : aByte) {
                    list.add(b);
                }
            }
            Byte[] reBytes=new Byte[list.size()];
            list.toArray(reBytes);
            return reBytes;
        }
    
        //拆分数组
        public static  Byte[] subBytes(Byte[] bytes, int start, int end) {
            Byte[] byteArray = new Byte[end - start];
            for (int i = start; i < end; i++) {
                byteArray[i - start] = bytes[i];
            }
            return byteArray;
        }
    }
    展开全文
  • java数值和字节转换

    2020-01-14 09:45:04
    private void WriteShort(ByteArrayOutputStream bos, int s) throws IOException { byte[] mybyte = new byte[2]; mybyte[1] =(byte)( (s << 16) >> 24 ); mybyte[0] =(b...


        private void WriteShort(ByteArrayOutputStream bos, int s) throws IOException {
            byte[] mybyte = new byte[2];
            mybyte[1] =(byte)( (s << 16) >> 24 );
            mybyte[0] =(byte)( (s << 24) >> 24 );
            bos.write(mybyte);
        }
     
     
        private void WriteInt(ByteArrayOutputStream bos, int n) throws IOException {
            byte[] buf = new byte[4];
            buf[3] =(byte)( n >> 24 );
            buf[2] =(byte)( (n << 8) >> 24 );
            buf[1] =(byte)( (n << 16) >> 24 );
            buf[0] =(byte)( (n << 24) >> 24 );
            bos.write(buf);
        }

    展开全文
  • javabyte转int (特别注意) byte b=0x01; int a=0xff&b; //正确 java中 int转byte int a=0x01; byte b=(byte)(a); 三. 原理 java中byte是8位 -128~127之间,而int是32bit,在转化前需将高24位置零,这样就...
  • char short int long float double 转换成byte数组
  • byte/ byte 数组转换成16进制字符串 (需要Netty) ByteBufUtil.hexDump(new byte[]{0x11, 0x11, 0x11, 0x11}) ByteBufUtil.hexDump(new byte[]{(byte)0xff}) byte 转换成无符号Long / Int表示 byte i = (byte) 0xff...
  • java int与byte[]转换

    千次阅读 2018-10-06 12:51:11
    今天写一个小程序,需要将int数组写入文件,然后再读出来。为了节省空间,打算...byte转int、char转int、int转long等低转高时,以及使用>>进行位运算时,需要注意补位会使用最高位进行补位,而不是使用0进行补位。
  • Java常用数据类型转换成byte工具类

    千次阅读 2014-10-10 14:30:31
    import java.io.UnsupportedEncodingException; public class Data2Byte { /** * double转换byte * * @param arr * byte[] * @param param * double double类型的参数 * @param index * int *...
  • 1、byte:有符号(意思是有正和负),在网络传输中都是会用到byte的,它占1个字节,共8位,比如说11111111就可以用1个byte表示,转化为10进制:- (2的6次+2的5次+2的4次+2的3次+2的2次+2的1次+2的0次) = -127。...
  • java实现int整型转换成byte[]字节数组

    千次阅读 2020-01-29 17:38:26
    java实现int整型和byte[]字节数组之间的转化1 1.首先我们要了解计算机存储都是以“补码”形式存储的,这里简单说一下原码,反码,补码 原码:将一个整数,转换成二进制,就是其原码。 反码:正数的反码就是其原码;...
  • 总结平时遇到的byte数组大小端处理 /** * 将小端数据转换为int,例如 0x06, 0x00, 0x00, 0x00转换后为6 * * @param len 必须为四个字节 * @return */ public static int littleEndian2Int(byte[] len) { ...
  • Java 16进制与byte数组互

    千次阅读 2019-09-25 16:52:53
    因此,一个字节可表示为两个十六进制数字。我们可以将一个byte用两个Hex表示,同理,我们也可以将两个Hex转换为一个byte。 private static final char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','a...
  • java整数和byte数组之间的转换

    千次阅读 2017-03-16 22:26:37
    From:... [java] view plain copy public class NumberUtil {   /**   * int整数转换为4字节的byte数组   *   * @param i 
  • java字符串转byte

    千次阅读 2018-07-18 18:27:26
    十六进制字符串每两位做一byte成一样得byte数据。 eg:"01D25F23AA" ; 由于javabyte大于127会成为负数,实际使用时请遍历 byte[i] &amp;= FF;(实例见上篇) /** * 字符串每两位一组转化为数...
  • java byte数组json对象

    千次阅读 2021-05-31 17:23:43
    String message = new String("byte数组"); //去掉多余的引号和转义字符 String substring = message.substring(1, message.length() - 1).replace("\\\"","'"); //转化为json对象 JSONObject jsonObject = new ...
  • Java中int与byte数组转换详解

    千次阅读 2019-04-12 11:39:31
    Java中int与byte数组转换详解
  • java byte数组String

    千次阅读 2021-02-02 10:35:46
    假设data为字节数组(byteArray) , 需要将其转化为string字符串 代码: System.out.println(new String(data, "UTF-8"));
  • java int与byte类型转换的2种方法

    千次阅读 2017-07-09 13:55:39
    byte是一字节,8位数。在日常的格式转换中,我们只需要将byte类型数据前加括号加(int)即可转换成int类型数据。但是最近接触到一种全新的转换方法,虽然得到的结果是相同的,但在某些特殊情况时会用到。第一种方法...
  • 一、十六进制(Hex)与字节(byte)的概念 ...字节(byte): java中一个byte为8个二进制位。 转换原理: 每个二进制位有两种状态,分别为0,1 因此,两个二进制位有4种状态,分别为:00,01,10,1...
  • java如何将中文转换成byte数组

    万次阅读 2019-05-26 13:21:46
    作为一名程序员,有时候会在想,java是如何将一个中文字符,转化成一个byte数组,是如果从一个byte数组转化成字符的呢? 其实大家都知道utf-8英文占1个字节,中文占3个字节,GBK中文英文都占2个字节,但是我想问,...
  • java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十进制...
  • Java 负数byte转int

    千次阅读 2018-04-19 15:51:48
    public static void main(String[] args) throws IOException { byte b = -127; int c = b &amp; 0xff; // 0xff是int类型 System.out.println(c); }输出结果为:为什么会是129呢?-127的二进制为:11111111...
  • JAVA byte[]数据类型之间的转换

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

    千次阅读 2018-04-11 19:59:24
    byte b = (byte)a; System.out.println(b); 因为Java中基本类型的范围不同,强转可能会导致异常。Java中的基本类型java中所有的基本数值类型都有正负号,所以不要去寻找无符号的数值类型。基本类型大小最小值...
  • javabyte的取值范围是127~-128,而int为4个byte,那么可能在位运算之后,不进行& 0xff按位与之后可能存在int的第一个字节和第二个字节均不为零的情况,那么此时int的值实际上是超过了byte的取值范围,在别的语言...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 142,440
精华内容 56,976
关键字:

java的数字转byte

java 订阅