`
yuanzher
  • 浏览: 30720 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【转】java整数和byte数组之间的转换

    博客分类:
  • java
 
阅读更多
public class NumberUtil {
	/**
	 * int整数转换为4字节的byte数组
	 * 
	 * @param i
	 *            整数
	 * @return byte数组
	 */
	public static byte[] intToByte4(int i) {
		byte[] targets = new byte[4];
		targets[3] = (byte) (i & 0xFF);
		targets[2] = (byte) (i >> 8 & 0xFF);
		targets[1] = (byte) (i >> 16 & 0xFF);
		targets[0] = (byte) (i >> 24 & 0xFF);
		return targets;
	}

	/**
	 * long整数转换为8字节的byte数组
	 * 
	 * @param lo
	 *            long整数
	 * @return byte数组
	 */
	public static byte[] longToByte8(long lo) {
		byte[] targets = new byte[8];
		for (int i = 0; i < 8; i++) {
			int offset = (targets.length - 1 - i) * 8;
			targets[i] = (byte) ((lo >>> offset) & 0xFF);
		}
		return targets;
	}

	/**
	 * short整数转换为2字节的byte数组
	 * 
	 * @param s
	 *            short整数
	 * @return byte数组
	 */
	public static byte[] unsignedShortToByte2(int s) {
		byte[] targets = new byte[2];
		targets[0] = (byte) (s >> 8 & 0xFF);
		targets[1] = (byte) (s & 0xFF);
		return targets;
	}

	/**
	 * byte数组转换为无符号short整数
	 * 
	 * @param bytes
	 *            byte数组
	 * @return short整数
	 */
	public static int byte2ToUnsignedShort(byte[] bytes) {
		return byte2ToUnsignedShort(bytes, 0);
	}

	/**
	 * byte数组转换为无符号short整数
	 * 
	 * @param bytes
	 *            byte数组
	 * @param off
	 *            开始位置
	 * @return short整数
	 */
	public static int byte2ToUnsignedShort(byte[] bytes, int off) {
		int high = bytes[off];
		int low = bytes[off + 1];
		return (high << 8 & 0xFF00) | (low & 0xFF);
	}

	/**
	 * byte数组转换为int整数
	 * 
	 * @param bytes
	 *            byte数组
	 * @param off
	 *            开始位置
	 * @return int整数
	 */
	public static int byte4ToInt(byte[] bytes, int off) {
		int b0 = bytes[off] & 0xFF;
		int b1 = bytes[off + 1] & 0xFF;
		int b2 = bytes[off + 2] & 0xFF;
		int b3 = bytes[off + 3] & 0xFF;
		return (b0 << 24) | (b1 << 16) | (b2 << 8) | b3;
	}
}

 

分享到:
评论

相关推荐

    java整数与byte数组的转换实现代码

    Java整数与byte数组的转换实现代码 Java整数与byte数组的转换是Java编程中常见的操作,以下是相关的知识点: 一、Java整数与byte数组的转换实现代码 Java中的整数可以转换为byte数组,以便于在网络上传输或存储。...

    java基本类型与byte数组互相转换.pdf

    Java 基本类型与 byte 数组互相转换 Java 中的基本类型与 byte 数组之间的转换是非常重要的,以下是关于 Java 基本...Java 基本类型与 byte 数组之间的转换需要使用位操作符和与操作符将高位和低位截断成 byte 类型。

    java数据类型转byte数组

    ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...

    把十六进制的位串转化为byte数组

    总之,将十六进制位串转化为byte数组是Java编程中的基本操作之一,理解和掌握这个过程对于提升编程技能和解决实际问题非常有帮助。如果你有机会阅读并理解`ByteStringUtil.java`中的代码,那么你将更深入地了解这个...

    android byte字节数组转换十六进制字符串

    总结,Android中将字节数组转换为十六进制字符串的方法多种多样,可以根据项目需求和性能要求选择合适的方式。在开发过程中,了解并熟练掌握这些转换技巧,可以帮助我们更好地处理二进制数据,提升代码的可读性和可...

    java byte相互转换详解左右位移

    在从byte数组转换回int时,我们使用左移操作和按位或操作(OR)。例如,`int i=0; i+=((b[0]&0xff));` 这里首先将byte转为int并保留其字节值,然后左移24位,将字节放到int的最高位字节处。对于后续的每个字节,都...

    byte数组转化为hex

    在Java编程中,将字节数组转换为16进制字符串是一项常见的任务,尤其是在处理二进制数据、网络通信或者存储数据时。16进制(Hexadecimal)是一种数字表示方式,它使用16个符号(0-9和A-F)来表示数值,对于显示和...

    java基本类型与byte数组互相转换.rar

    此外,Java的`DataInputStream`和`DataOutputStream`也可以用来进行基本类型与字节流之间的转换,它们提供了如`readInt()`, `writeInt()`, `readFloat()`, `writeFloat()`等方法。 在实际应用中,需要注意字节顺序...

    Java基本类型与byte数组之间相互转换方法

    总之,这些方法提供了在Java中基础数据类型和byte数组之间转换的实用工具。它们对于数据的序列化和反序列化,网络传输,或者任何需要将数据转换为字节流的场景都非常有用。需要注意的是,进行这样的转换时,必须考虑...

    Java中byte、byte数组与int、long的转换详解

    2. **Java中byte数组和int之间的转换** - **byte数组转int**:当需要从`byte`数组中读取`int`时,通常需要按照字节顺序(Big-Endian或Little-Endian)组合数组中的字节。例如,如果数组是Big-Endian,可以按顺序将...

    java byte数组与int,long,short,byte的转换实现方法

    本文将详细介绍如何在Java中将`byte`数组与其他基本数据类型(如`int`、`long`、`short`、`byte`)之间进行转换。 首先,我们来看`byte`到`int`的转换。Java中的`byte`类型是8位的,取值范围是-128到127。如果要将...

    数字类型 转换 字节数组

    可以将 Float、 Double、 与byte[]之间进行互换,从而可以在Java 的开发环境中实现C语言的Union 的功能! /** * 对数字和字节进行转换。 * 基础知识: * 假设数据存储是以大端模式存储的: * byte:...

    String 与byte[] 间的转换

    "String 与 byte[] 之间的转换" String 与 byte[] 之间的转换...在 Java 中,可以使用 parseHexStr2Byte() 和 parseByte2HexStr() 方法来实现 String 与 byte[] 之间的转换,这两个方法可以确保数据的正确性和完整性。

    浅谈byte和长度为8的boolean数组互相转换

    在Java编程语言中,`byte`类型是一种基本的数据类型,它占用8位,可以表示-128到127之间的整数值。另一方面,`boolean`类型用于存储布尔值,即`true`或`false`,它不占任何固定位数,但在实际内存分配时通常与一个...

    dotnet C# 将 Byte 二进制数组使用不安全代码快速转换为 int 或结构体数组.rar

    首先,让我们理解如何将一个Byte数组转换为int数组。在计算机内存中,每个int占用4个字节,因此,如果我们有一个连续的Byte数组,我们可以通过指针操作逐个读取这四个字节并转换为int。以下是一个示例: ```csharp ...

    在Java中int和byte[]的相互转换

    相反,从byte数组转换回int,我们需要组合这些字节,将它们按正确的顺序放置,然后将结果解释为int。以下是一个实现此功能的函数: ```java public static int bytesToInt(byte[] bytes) { int i; i = (int) (...

    java String 与各种进制字符之间的转换

    - `ByteBuffer`类提供了将字节数组与各种类型(包括整数和字符串)之间转换的功能。例如,`ByteBuffer.wrap(byte[])`可以创建一个缓冲区,然后使用`get()`和`put()`方法读写整数。 6. **HickeyTest.java**: 这个...

    Java整型数与网络字节序byte[]数组转换关系详解

    "Java整型数与网络字节序byte[]数组转换关系详解" 本文主要介绍了Java整型数与网络字节序byte[]数组之间的转换关系,包括整型数到byte[]数组的转换和byte[]数组到整型数的转换。这些转换关系在Java和C/C++之间的...

    JAVA作业三字节数组转化.docx

    在Java编程语言中,字节数组(byte array)和基本数据类型如int之间的转换是常见的操作,特别是在处理网络通信、文件存储或者序列化时。本篇内容将详细讲解如何在Java中进行这两种类型的转化。 首先,我们来看如何...

    学习文档_JAVA中Integer和Byte转换.doc

    在Java编程语言中,Integer和Byte之间的转换是常见的操作,特别是在处理二进制数据或网络通信时。本文档主要探讨了如何在Java中实现这两种数据类型的转换,包括有符号和无符号的转换。 首先,Integer在Java中占用4...

Global site tag (gtag.js) - Google Analytics