基本类型数据转换(int,char,byte)
public class DataUtil { public static void main(String[] args) {
int a = 8;
int value = charToInt(byteToChar(intToByte(a)));
int value2 = byteToInt(charToByte(intTochar(a)));
System.out.println(value);
System.out.println(value2);
} public static byte[] intToByte(int value){
byte[] b = new byte[4];
b[0] = (byte) (value & 0xff);
b[1] = (byte) ((value >> 8) & 0xff);
b[2] = (byte) ((value >> 16) & 0xff);
b[3] = (byte) ((value >> 24) & 0xff);
return b;
} public static int byteToInt(byte[] bytes){
return (bytes[0] & 0xff) | ((bytes[1] & 0xff) << 8)
| ((bytes[2] & 0xff) << 16) | ((bytes[3] & 0xff) << 24);
} public static char[] intTochar(int value){
char[] c = new char[2];
c[0] = (char) (value & 0xffff);
c[1] = (char) ((value >> 16) & 0xffff);
return c;
} public static int charToInt(char[] chars){
return (chars[0] & 0xffff) | ((chars[1] & 0xffff) << 16);
} public static char[] byteToChar(byte[] bytes){
char[] v = new char[2];
v[0] = (char) ((bytes[0] & 0xffff) | ((bytes[1] & 0xffff) << 8));
v[1] = (char) ((bytes[2] & 0xffff) | ((bytes[3] & 0xffff) << 8));
return v;
} public static byte[] charToByte(char[] chars){
byte[] bytes = new byte[4];
bytes[0] = (byte) (chars[0] & 0xff);
bytes[1] = (byte) ((chars[0] >> 8) & 0xff);
bytes[2] = (byte) (chars[1] & 0xff);
bytes[3] = (byte) ((chars[1] >> 8) & 0xff);
return bytes;
} public static byte[] objectToBytes(Object object) throws IOException{
try(ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream outputStream = new ObjectOutputStream(arrayOutputStream)){
outputStream.writeObject(object);
outputStream.flush();
return arrayOutputStream.toByteArray();
}
} public static Object bytesToObject(byte[] bytes) throws IOException,ClassNotFoundException{
try (ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(bytes);
ObjectInputStream objectInputStream = new ObjectInputStream(arrayInputStream)){
return objectInputStream.readObject();
}
}
}
基本类型数据转换(int,char,byte)的更多相关文章
- 将COleDateTime类型数据转换成char *数据
用OpenCV做多摄像头校准时间,在图像上显示时间信息,需求要将COleDateTime类型数据转换成char *数据 具体代码如下: 1: COleDateTime m_checkDate; 2: ...
- 计算机基础--Java中int char byte的关系
计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...
- (C语言)char类型与int类型相加
#include <stdio.h> int main(void) { ; ; int c = a + b; a += b; printf("c=%d",c); //p ...
- java基础类型中的char和byte的辨析及Unicode编码和UTF-8的区别
在平常工作中使用到char和byte的场景不多,但是如果项目中使用到IO流操作时,则必定会涉及到这两个类型,下面让我们一起来回顾一下这两个类型吧. char和byte的对比 byte byte 字节, ...
- java笔记--关于int和byte[]的转换
关于int和byte[]数组的转换 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3891747.html "谢谢-- 众所 ...
- int与byte的区别
Java中涉及byte.short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果.因此,如果把两个byte类型值相加,最后会得到一个int ...
- mysql java 类型对照 int
Java MySQL数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.S ...
- java int转byte和long转byte
在网络编程中,出于节约带宽或者编码的需要,通常需要以原生方式处理long和int,而不是转换为string. public class ByteOrderUtils { public static b ...
- C# int转byte[],byte[]转int
第一种方法: byte数组转int u = (uint)(b[0] | b[1] << 8 |b[2] << 16 | b[3] << 24); int转byte数 ...
随机推荐
- selenium+python自动化测试,上传文件怎样实现
其实上传图片操作与输入框的输入是一样的,一种是在输入框中输入字符信息,一种是在输入文件格式的信息,下面是用代码实现上传文件, from selenium import webdriverfrom ti ...
- vertx的ShardData共享数据
数据类型 一共4种 synchronous shared maps (local) asynchronous maps (local or cluster-wide) asynchronous loc ...
- IntelliJ IDEA 如何设置类头注释和方法注释
从VS转过来的,ide的差距很大的,所以...特意折腾了很久,结果还是没有VS的 '///' 好用 一.类头注释 打开file -> setting -> Editor -> Fil ...
- java变量和javascript变量之间的传递
java代码是运行在服务器上的,返回的值只是静态的存在于页面,而javascript是脚本语言,是运行在客户端的!它们是两种完全不同的语言,变量不能直接进行交换,但是通过一定的方式,变量可以传递. j ...
- Codeforces 258D Little Elephant and Broken Sorting (看题解) 概率dp
Little Elephant and Broken Sorting 怎么感觉这个状态好难想到啊.. dp[ i ][ j ]表示第 i 个数字比第 j 个数字大的概率.转移好像比较显然. #incl ...
- SpringBoot的Web开发
一.创建Web项目 创建的时候勾选对应web选项即可,会自动引入相应的starter,pom如下: <dependency> <groupId>org.springframew ...
- C语言的整型溢出问题 int、long、long long取值范围 最大最小值
类型名称 字节数 取值范围 signed char 1 -128-+127 short int 2 -32768-+32767 int 4 -2147483648-+2147483647 long i ...
- hdu 3478 Catch--二分图判断
我觉得,给了初始点的话用bfs方便点,没有则dfs ||可能超片面 https://vjudge.net/contest/281085?tdsourcetag=s_pcqq_aiomsg#proble ...
- 四、自动化平台搭建-Django-如何做验证码
前提:安装包 pip install pillow==3.4.1 1.打开booktest/views.py,创建视图verify_code. from PIL import Image, Ima ...
- [数据结构] 树状数组 的C程序实现
];//树状数组,用于取区间[x,y]的数据的和 /* & 特殊运算,t&(-t)的值(十进制),就是t在2进制下,从右往左数第一个1出现的位置. 结合树状数组的特殊性质,这个值有用 ...