`
百合不是茶
  • 浏览: 354655 次
社区版块
存档分类
最新评论

基本数据类型与byte之间的相互转换

阅读更多

程序猿之所以这么牛逼,不是因为他们多聪明,而是他们善于总结--所以才会这么牛逼

 

1,两个byte数组的拼接b_1+b_2=b_3

 

// 字节数组的合拼
		byte[] b_1 = new byte[10];
		byte[] b_2 = new byte[30];
		byte[] b_3 = new byte[b_1.length + b_2.length];
		//字节数组的拼接
		System.arraycopy(b_1, 0, b_3, 0, b_1.length);
		System.arraycopy(b_2, 0, b_3, b_1.length, b_2.length);
		System.out.println(b_3.length);

 

 

 

2,char转byte和byte转char

 

   public static byte[] getByteOfChar(char paramChar) {
        byte[] arrayOfByte = new byte[2];
        arrayOfByte[0] = (byte) paramChar;
        arrayOfByte[1] = (byte) (paramChar >> '\b');
        return arrayOfByte;
    }

 

byte转char

    public static char getChar(byte[] paramArrayOfByte) {
        return (char) (0xFF & paramArrayOfByte[0] | 0xFF00 & paramArrayOfByte[1] << 8);
    }

 

 

 

3,double转byte和byte转double

 

    public static byte[] getByteOfDouble(double paramDouble) {
        return getByteOfLong(Double.doubleToLongBits(paramDouble));
    }

 

 public static byte[] getByteOfLong(long paramLong) {
        byte[] arrayOfByte = new byte[8];
        arrayOfByte[0] = (byte) (int) (paramLong & 0xFF);
        arrayOfByte[1] = (byte) (int) (0xFF & paramLong >> 8);
        arrayOfByte[2] = (byte) (int) (0xFF & paramLong >> 16);
        arrayOfByte[3] = (byte) (int) (0xFF & paramLong >> 24);
        arrayOfByte[4] = (byte) (int) (0xFF & paramLong >> 32);
        arrayOfByte[5] = (byte) (int) (0xFF & paramLong >> 40);
        arrayOfByte[6] = (byte) (int) (0xFF & paramLong >> 48);
        arrayOfByte[7] = (byte) (int) (0xFF & paramLong >> 56);
        return arrayOfByte;
    }

 

byte转double

    public static double getDouble(byte[] paramArrayOfByte) {
        long l = getLong(paramArrayOfByte);
        System.out.println(l);
        return Double.longBitsToDouble(l);
    }
    public static long getLong(byte[] paramArrayOfByte) {
        return 0xFF & paramArrayOfByte[0] | 0xFF00 & paramArrayOfByte[1] << 8 | 0xFF0000
                & paramArrayOfByte[2] << 16 | 0xFF000000 & paramArrayOfByte[3] << 24 | 0x0
                & paramArrayOfByte[4] << 32 | 0x0 & paramArrayOfByte[5] << 40 | 0x0
                & paramArrayOfByte[6] << 48 | 0x0 & paramArrayOfByte[7] << 56;
    }

 

 

 

4,float转byte和byte转float

 

 public static byte[] getByteOfFloat(float paramFloat) {
        return getByteOfInt(Float.floatToRawIntBits(paramFloat));
    }

 

public static byte[] getByteOfInt(int paramInt) {
        byte[] arrayOfByte = new byte[4];
        arrayOfByte[0] = (byte) (paramInt & 0xFF);
        arrayOfByte[1] = (byte) ((0xFF00 & paramInt) >> 8);
        arrayOfByte[2] = (byte) ((0xFF0000 & paramInt) >> 16);
        arrayOfByte[3] = (byte) ((0xFF000000 & paramInt) >> 24);
        return arrayOfByte;
    }

 

byte转float

    public static float getFloat(byte[] paramArrayOfByte) {
        return Float.intBitsToFloat(getInt(paramArrayOfByte));
    }

    public static int getInt(byte[] paramArrayOfByte) {
        return 0xFF & paramArrayOfByte[0] | 0xFF00 & paramArrayOfByte[1] << 8 | 0xFF0000
                & paramArrayOfByte[2] << 16 | 0xFF000000 & paramArrayOfByte[3] << 24;
    }

  

 

 

 

5,int转byte和byte转int

 

  public static byte[] getByteOfInt(int paramInt) {
        byte[] arrayOfByte = new byte[4];
        arrayOfByte[0] = (byte) (paramInt & 0xFF);
        arrayOfByte[1] = (byte) ((0xFF00 & paramInt) >> 8);
        arrayOfByte[2] = (byte) ((0xFF0000 & paramInt) >> 16);
        arrayOfByte[3] = (byte) ((0xFF000000 & paramInt) >> 24);
        return arrayOfByte;
    }

 

byte转int

    public static int getInt(byte[] paramArrayOfByte) {
        return 0xFF & paramArrayOfByte[0] | 0xFF00 & paramArrayOfByte[1] << 8 | 0xFF0000
                & paramArrayOfByte[2] << 16 | 0xFF000000 & paramArrayOfByte[3] << 24;
    }

  

 

 

6,long转byte和byte转long

 

    public static byte[] getByteOfLong(long paramLong) {
        byte[] arrayOfByte = new byte[8];
        arrayOfByte[0] = (byte) (int) (paramLong & 0xFF);
        arrayOfByte[1] = (byte) (int) (0xFF & paramLong >> 8);
        arrayOfByte[2] = (byte) (int) (0xFF & paramLong >> 16);
        arrayOfByte[3] = (byte) (int) (0xFF & paramLong >> 24);
        arrayOfByte[4] = (byte) (int) (0xFF & paramLong >> 32);
        arrayOfByte[5] = (byte) (int) (0xFF & paramLong >> 40);
        arrayOfByte[6] = (byte) (int) (0xFF & paramLong >> 48);
        arrayOfByte[7] = (byte) (int) (0xFF & paramLong >> 56);
        return arrayOfByte;
    }

 

byte转long

    public static long getLong(byte[] paramArrayOfByte) {
        return 0xFF & paramArrayOfByte[0] | 0xFF00 & paramArrayOfByte[1] << 8 | 0xFF0000
                & paramArrayOfByte[2] << 16 | 0xFF000000 & paramArrayOfByte[3] << 24 | 0x0
                & paramArrayOfByte[4] << 32 | 0x0 & paramArrayOfByte[5] << 40 | 0x0
                & paramArrayOfByte[6] << 48 | 0x0 & paramArrayOfByte[7] << 56;
    }

 

 

 

 

6,short转byte和byte转short

 

  public static byte[] getByteOfShort(short paramShort) {
        byte[] arrayOfByte = new byte[2];
        arrayOfByte[0] = (byte) (paramShort & 0xFF);
        arrayOfByte[1] = (byte) ((0xFF00 & paramShort) >> 8);
        return arrayOfByte;
    }

 

byte转short

    public static short getShort(byte[] paramArrayOfByte) {
        return (short) (0xFF & paramArrayOfByte[0] | 0xFF00 & paramArrayOfByte[1] << 8);
    }

 

 

 

7,String转byte和byte转String

   public static byte[] getByteOfString(String paramString1, String paramString2) {
        return paramString1.getBytes(Charset.forName(paramString2));
    }

 指定编码格式

 public static byte[] getByteOfStringUTF_8(String paramString) {
        return getByteOfString(paramString, "UTF-8");
    }

 

byte转Sing

    public static String getString(byte[] paramArrayOfByte) {
        return getString(paramArrayOfByte, "UTF-8"); //指定编码
    }

    public static String getString(byte[] paramArrayOfByte, String paramString) {
        return new String(paramArrayOfByte, Charset.forName(paramString));
    }

 

 

8,文件转Byte

	public byte[] file2Byte() {
		byte[] myfileData = null;
		try {
			InputStream is = mContext.getResources()
					.openRawResource(R.raw.json);//android读取assets下的资源文件
			BufferedInputStream reaStream = new BufferedInputStream(is);
			int length = reaStream.available();
			myfileData = new byte[length];
			reaStream.read(myfileData);

		} catch (Exception ex) {
			System.out.println("Exception: " + ex);
			ex.printStackTrace();
		}
		return myfileData;
	}

 

 

9,byte转文件

	public void byte2File(byte[] data, String path) {
		if (data.length < 3 || path.equals(""))
			return;
		try {
			FileOutputStream imageOutput = new FileOutputStream(new File(path));
			imageOutput.write(data, 0, data.length);
			imageOutput.close();
			System.out.println("Make Picture success,Please find image in "
					+ path);
		} catch (Exception ex) {
			System.out.println("Exception: " + ex);
			ex.printStackTrace();
		}
	}

 

0
1
分享到:
评论

相关推荐

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

    "java基本类型与byte数组互相转换" Java基本类型是指Java语言中最基本的数据类型,包括byte、short、int、long、float、double、char、boolean等。这些基本类型在内存中以二进制形式存储,而byte数组是Java中的一种...

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

    ### Java基本类型与Byte数组互相转换 在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等...

    BYTE类型之间相互转换

    在C++中,有多种方法可以实现不同类型之间的转换,包括`BYTE`与其他基本类型之间的转换。 1. **基本数据类型的转换** C++中的基本数据类型包括`int`, `float`, `char`, `short`等。要将一个`BYTE`转换为其他基本...

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

    "Java 基本类型与 byte 数组互相转换" Java 是一种面向对象的编程语言,具有强大而灵活的数据类型系统。 Java 中的基本类型包括 boolean、byte、char、short、int、long、float 和 double 等。这些基本类型可以相互...

    Cstring 与BYTE类型之间转换

    `BYTE`是一种基本的数据类型,在C++中通常定义为无符号的8位整数类型。在处理二进制数据或进行低级操作时非常有用。例如在网络编程中,数据包通常由一系列`BYTE`组成;在文件读写过程中,`BYTE`也是常用的数据单位之...

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

    在Java编程语言中,数据类型分为两种:原始(或基本)类型和引用类型。原始类型包括整型(如byte、short、int、long)、浮点型(如float、double)、字符型(char)以及布尔型(boolean)。这些类型的数据可以直接在...

    String(含Hex)与Byte数组互相转换[代码]

    在编程中,数据类型之间的转换是非常常见的操作,尤其是在处理二进制数据和文本数据时。在Java或类似的编程语言中,我们经常会遇到需要将字符串(String)与字节数组(Byte[])以及十六进制表示的字符串(Hex)进行...

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

    在Java编程语言中,将基本数据类型转换为字节数组以及从字节数组转换回基本数据类型是一项常见的操作,特别是在处理网络通信、数据存储和序列化等场景。上述代码提供了一些方法来实现这些转换,包括short、int、long...

    byte与各类型之间的转化

    尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...

    int、char、double与byte类型之间相互转换

    在Java编程语言中,数据类型之间的转换是一项基本且重要的技能,尤其当涉及到不同类型的数值时。本文将详细介绍如何实现int、char、double与byte类型之间的相互转换,并通过具体的示例代码来阐述每一种转换方法。 #...

    byte[]与各种数据类型互相转换示例.md

    byte[]与各种数据类型互相转换示例

    Java String与Byte类型转换

    Byte类型是Java的八种基本数据类型之一,用于存储8位二进制值,范围是-128到127。 1. **String转Byte**: - **字面量转换**: 直接使用`getBytes()`方法将字符串转化为字节数组。例如,`byte[] bytes = "Hello"....

    DataSet 与Byte[]之间的相互转换

    本篇将详细讲解如何在`DataSet`与`Byte[]`之间进行转换,并涉及数据压缩的相关知识。 1. `DataSet`转`Byte[]`: 当我们需要将`DataSet`的内容保存到磁盘或者通过网络发送时,可以将其转换为`Byte[]`。这通常通过...

    TypeByte@2019_C#_C++_C数据类型转换时间戳转换_

    1. C#的数据类型转换:显式与隐式转换,DateTime结构与Unix时间戳的相互转换。 2. C++的数据类型转换:static_cast、dynamic_cast、C-style cast和const_cast,以及时间戳的自定义处理。 3. C语言的数据类型转换和...

    Java中各个数据类型之间的转换

    - 不同级别的数据类型之间不能直接转换,如`byte`、`short`和`char`,需要使用强制类型转换。 在编程实践中,理解并正确使用这些转换规则是确保程序逻辑正确性和数据完整性的关键。在转换前,应确保数据的适应性,...

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

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

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

    在Java中,基本数据类型byte与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...

    Android byte[] 和 String互相转换

    在Android开发中,数据在内存和磁盘之间传输时,我们经常需要在`byte[]`(字节数组)和`String`之间进行转换。这是因为`byte[]`适合处理二进制数据,如图片、音频文件等,而`String`则更适合存储文本信息。本篇将...

    C#byte数组结构体互相转换示例.zip

    总结起来,这个"C#byte数组结构体互相转换示例"提供了C#中结构体与字节数组之间转换的实用方法,解决了开发过程中常见的序列化和反序列化需求,提高了代码效率。开发者可以根据自己的项目需求,直接引用或借鉴这些...

    java数据类型转换

    ### Java 数据类型转换详解 #### 一、引言 在Java编程中,数据类型转换是一项基本且重要...此外,文章还提到了字符串与其他数据类型之间的转换,以及其他实用数据类型转换,这些知识点对于日常编程工作来说非常重要。

Global site tag (gtag.js) - Google Analytics