程序猿之所以这么牛逼,不是因为他们多聪明,而是他们善于总结--所以才会这么牛逼
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(); } }
相关推荐
"java基本类型与byte数组互相转换" Java基本类型是指Java语言中最基本的数据类型,包括byte、short、int、long、float、double、char、boolean等。这些基本类型在内存中以二进制形式存储,而byte数组是Java中的一种...
### Java基本类型与Byte数组互相转换 在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等...
在C++中,有多种方法可以实现不同类型之间的转换,包括`BYTE`与其他基本类型之间的转换。 1. **基本数据类型的转换** C++中的基本数据类型包括`int`, `float`, `char`, `short`等。要将一个`BYTE`转换为其他基本...
"Java 基本类型与 byte 数组互相转换" Java 是一种面向对象的编程语言,具有强大而灵活的数据类型系统。 Java 中的基本类型包括 boolean、byte、char、short、int、long、float 和 double 等。这些基本类型可以相互...
`BYTE`是一种基本的数据类型,在C++中通常定义为无符号的8位整数类型。在处理二进制数据或进行低级操作时非常有用。例如在网络编程中,数据包通常由一系列`BYTE`组成;在文件读写过程中,`BYTE`也是常用的数据单位之...
在Java编程语言中,数据类型分为两种:原始(或基本)类型和引用类型。原始类型包括整型(如byte、short、int、long)、浮点型(如float、double)、字符型(char)以及布尔型(boolean)。这些类型的数据可以直接在...
在编程中,数据类型之间的转换是非常常见的操作,尤其是在处理二进制数据和文本数据时。在Java或类似的编程语言中,我们经常会遇到需要将字符串(String)与字节数组(Byte[])以及十六进制表示的字符串(Hex)进行...
在Java编程语言中,将基本数据类型转换为字节数组以及从字节数组转换回基本数据类型是一项常见的操作,特别是在处理网络通信、数据存储和序列化等场景。上述代码提供了一些方法来实现这些转换,包括short、int、long...
尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...
在Java编程语言中,数据类型之间的转换是一项基本且重要的技能,尤其当涉及到不同类型的数值时。本文将详细介绍如何实现int、char、double与byte类型之间的相互转换,并通过具体的示例代码来阐述每一种转换方法。 #...
byte[]与各种数据类型互相转换示例
Byte类型是Java的八种基本数据类型之一,用于存储8位二进制值,范围是-128到127。 1. **String转Byte**: - **字面量转换**: 直接使用`getBytes()`方法将字符串转化为字节数组。例如,`byte[] bytes = "Hello"....
本篇将详细讲解如何在`DataSet`与`Byte[]`之间进行转换,并涉及数据压缩的相关知识。 1. `DataSet`转`Byte[]`: 当我们需要将`DataSet`的内容保存到磁盘或者通过网络发送时,可以将其转换为`Byte[]`。这通常通过...
1. C#的数据类型转换:显式与隐式转换,DateTime结构与Unix时间戳的相互转换。 2. C++的数据类型转换:static_cast、dynamic_cast、C-style cast和const_cast,以及时间戳的自定义处理。 3. C语言的数据类型转换和...
在Java中,基本数据类型byte与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...
- 不同级别的数据类型之间不能直接转换,如`byte`、`short`和`char`,需要使用强制类型转换。 在编程实践中,理解并正确使用这些转换规则是确保程序逻辑正确性和数据完整性的关键。在转换前,应确保数据的适应性,...
总之,这些方法提供了在Java中基础数据类型和byte数组之间转换的实用工具。它们对于数据的序列化和反序列化,网络传输,或者任何需要将数据转换为字节流的场景都非常有用。需要注意的是,进行这样的转换时,必须考虑...
在Android开发中,数据在内存和磁盘之间传输时,我们经常需要在`byte[]`(字节数组)和`String`之间进行转换。这是因为`byte[]`适合处理二进制数据,如图片、音频文件等,而`String`则更适合存储文本信息。本篇将...
总结起来,这个"C#byte数组结构体互相转换示例"提供了C#中结构体与字节数组之间转换的实用方法,解决了开发过程中常见的序列化和反序列化需求,提高了代码效率。开发者可以根据自己的项目需求,直接引用或借鉴这些...
### Java 数据类型转换详解 #### 一、引言 在Java编程中,数据类型转换是一项基本且重要...此外,文章还提到了字符串与其他数据类型之间的转换,以及其他实用数据类型转换,这些知识点对于日常编程工作来说非常重要。