Java基本类型与byte数组之间相互转换,刚刚写的
package cn.teaey.utils; import java.nio.charset.Charset; public class ByteUtil { public static byte[] getBytes(short data) { byte[] bytes = new byte[2]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data & 0xff00) >> 8); return bytes; } public static byte[] getBytes(char data) { byte[] bytes = new byte[2]; bytes[0] = (byte) (data); bytes[1] = (byte) (data >> 8); return bytes; } public static byte[] getBytes(int data) { byte[] bytes = new byte[4]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data & 0xff00) >> 8); bytes[2] = (byte) ((data & 0xff0000) >> 16); bytes[3] = (byte) ((data & 0xff000000) >> 24); return bytes; } public static byte[] getBytes(long data) { byte[] bytes = new byte[8]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data >> 8) & 0xff); bytes[2] = (byte) ((data >> 16) & 0xff); bytes[3] = (byte) ((data >> 24) & 0xff); bytes[4] = (byte) ((data >> 32) & 0xff); bytes[5] = (byte) ((data >> 40) & 0xff); bytes[6] = (byte) ((data >> 48) & 0xff); bytes[7] = (byte) ((data >> 56) & 0xff); return bytes; } public static byte[] getBytes(float data) { int intBits = Float.floatToIntBits(data); return getBytes(intBits); } public static byte[] getBytes(double data) { long intBits = Double.doubleToLongBits(data); return getBytes(intBits); } public static byte[] getBytes(String data, String charsetName) { Charset charset = Charset.forName(charsetName); return data.getBytes(charset); } public static byte[] getBytes(String data) { return getBytes(data, "GBK"); } public static short getShort(byte[] bytes) { return (short) ((0xff & bytes[0]) | (0xff00 & (bytes[1] << 8))); } public static char getChar(byte[] bytes) { return (char) ((0xff & bytes[0]) | (0xff00 & (bytes[1] << 8))); } public static int getInt(byte[] bytes) { return (0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)) | (0xff0000 & (bytes[2] << 16)) | (0xff000000 & (bytes[3] << 24)); } public static long getLong(byte[] bytes) { return(0xffL & (long)bytes[0]) | (0xff00L & ((long)bytes[1] << 8)) | (0xff0000L & ((long)bytes[2] << 16)) | (0xff000000L & ((long)bytes[3] << 24)) | (0xff00000000L & ((long)bytes[4] << 32)) | (0xff0000000000L & ((long)bytes[5] << 40)) | (0xff000000000000L & ((long)bytes[6] << 48)) | (0xff00000000000000L & ((long)bytes[7] << 56)); } public static float getFloat(byte[] bytes) { return Float.intBitsToFloat(getInt(bytes)); } public static double getDouble(byte[] bytes) { long l = getLong(bytes); System.out.println(l); return Double.longBitsToDouble(l); } public static String getString(byte[] bytes, String charsetName) { return new String(bytes, Charset.forName(charsetName)); } public static String getString(byte[] bytes) { return getString(bytes, "GBK"); } public static void main(String[] args) { short s = 122; int i = 122; long l = 1222222; char c = 'a'; float f = 122.22f; double d = 122.22; String string = "我是好孩子"; System.out.println(s); System.out.println(i); System.out.println(l); System.out.println(c); System.out.println(f); System.out.println(d); System.out.println(string); System.out.println("**************"); System.out.println(getShort(getBytes(s))); System.out.println(getInt(getBytes(i))); System.out.println(getLong(getBytes(l))); System.out.println(getChar(getBytes(c))); System.out.println(getFloat(getBytes(f))); System.out.println(getDouble(getBytes(d))); System.out.println(getString(getBytes(string))); } }
以上这篇Java基本类型与byte数组之间相互转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍Java 图片与byte数组互相转换实例,包括了Java 图片与byte数组互相转换实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 文件解析: FileImageOutputStream 换成了 FileOutputStream FileImageInputStream 换成 FileInputStream 以上这篇Java 图片与byte数组互相转换实例就是小编分享给大家
本文向大家介绍基于java中byte数组与int类型的转换(两种方法),包括了基于java中byte数组与int类型的转换(两种方法)的使用技巧和注意事项,需要的朋友参考一下 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组
本文向大家介绍spark: RDD与DataFrame之间的相互转换方法,包括了spark: RDD与DataFrame之间的相互转换方法的使用技巧和注意事项,需要的朋友参考一下 DataFrame是一个组织成命名列的数据集。它在概念上等同于关系数据库中的表或R/Python中的数据框架,但其经过了优化。DataFrames可以从各种各样的源构建,例如:结构化数据文件,Hive中的表,外部数据库或
本文向大家介绍Java中字符数组、String类、StringBuffer三者之间相互转换,包括了Java中字符数组、String类、StringBuffer三者之间相互转换的使用技巧和注意事项,需要的朋友参考一下 一、StringBuffer与String的相互转换 1、将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型。
本文向大家介绍java byte数组与int,long,short,byte的转换实现方法,包括了java byte数组与int,long,short,byte的转换实现方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上就是小编为大家带来的java byte数组与int,long,short,byte的转换实现方法全部内容了,希望大家多多支持呐喊教程~
语言中经常会出现类型转换1。如将一个数字字符串转为整型,或浮点数。这种转换常常分为,隐式转换和显式转换。 隐式转换 如果运算符支持两边不同的类型,编译器会尝试隐式转换类型,同理,赋值时也是类似。通常,隐式转换需要能保证不会丢失数据,且语义可通。如uint8可以转化为uint16,uint256。但int8不能转为uint256,因为uint256不能表示-1。 此外,任何无符号整数,可以转换为相同