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)的更多相关文章

  1. 将COleDateTime类型数据转换成char *数据

    用OpenCV做多摄像头校准时间,在图像上显示时间信息,需求要将COleDateTime类型数据转换成char *数据 具体代码如下: 1: COleDateTime m_checkDate; 2: ...

  2. 计算机基础--Java中int char byte的关系

    计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...

  3. (C语言)char类型与int类型相加

    #include <stdio.h> int main(void) { ; ; int c = a + b; a += b; printf("c=%d",c); //p ...

  4. java基础类型中的char和byte的辨析及Unicode编码和UTF-8的区别

    在平常工作中使用到char和byte的场景不多,但是如果项目中使用到IO流操作时,则必定会涉及到这两个类型,下面让我们一起来回顾一下这两个类型吧. char和byte的对比 byte byte 字节, ...

  5. java笔记--关于int和byte[]的转换

    关于int和byte[]数组的转换 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3891747.html "谢谢-- 众所 ...

  6. int与byte的区别

    Java中涉及byte.short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果.因此,如果把两个byte类型值相加,最后会得到一个int ...

  7. mysql java 类型对照 int

    Java MySQL数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.S ...

  8. java int转byte和long转byte

    在网络编程中,出于节约带宽或者编码的需要,通常需要以原生方式处理long和int,而不是转换为string. public class ByteOrderUtils { public static b ...

  9. C# int转byte[],byte[]转int

    第一种方法: byte数组转int u = (uint)(b[0] | b[1] << 8 |b[2] << 16 | b[3] << 24); int转byte数 ...

随机推荐

  1. 马拉车算法——求回文子串个数zoj4110

    zoj的测评姬好能卡时间.. 求回文子串的个数:只要把p[i]/2就行了: 如果s_new[i]是‘#’,算的是没有中心的偶回文串 反之是奇回文串 /* 给定两个字符串s,t 结论:s,t不相同的第一 ...

  2. 运行Scrapy程序时出现No module named win32api问题的解决思路和方法

    有小伙伴在群里边反映说在使用Scrapy的时候,发现创建项目一切顺利,但是在执行Scrapy爬虫程序的时候却出现下列报错:“No module named win32api”,如下图所示,但是不知道怎 ...

  3. 金山WPS一面

    昨天下午在武汉面了一场服务端开发工程师吧,结果还未通知,是校招的, 大体上题目如下: 先自我介绍 然后是聊了一些笔试上的情况 问了spring的的作用以及优势 http的状态,三次握手四次挥手 gc的 ...

  4. buaaoo_first_assignment

    四周之前,我不懂面向对象是什么:四周之后,我依然不懂面向对象是什么. 一.第一次作业 (1)实现 说起来,本次作业是最惨烈的一次. 虽然它很简单,但由于未熟悉正则表达式的应用,导致判断wrong fo ...

  5. 浅谈Python装饰器

    一.概念 装饰器是Python语言中的高级语法.主要的功能是对一个函数.方法.或者类进行加工,作用是为已经存在的对象添加额外的功能,提升代码的可读性.装饰器是设计模式的一种,被用于有切面需求的场景,较 ...

  6. CentOS7使用yum安装配置Redis

    >>>>>>>>>>>>>>>>>>>>>>>>> ...

  7. 大数据ssh疑点跟踪

    相信运维的对ssh免密登陆应该是对这个再清楚不过的吧,由于我们大数据对于安全这方便管控的很严格,单独找一台物理机作为跳板机,其他的机器都必须要从这个跳板机免密登陆,由于机器比较的多,其中dn30这个域 ...

  8. 开发环境中Docker的使用

    一. Ubuntu16.04+Django+Redis+Nginx的Web项目Docker化 1.创建Django项目的image # 创建项目image 执行 docker build -t ccn ...

  9. 2018年多校第四场第二题 B. Harvest of Apples hdu6333

    题意:给定10^5以内的n,m求∑组合数(n,i),共10^5组数据. 题解: 定义 S(n, m) = \sum_{i = 0} ^ {m} {n \choose i}S(n,m)=∑​i=0​m​ ...

  10. spring-boot-starter-actouator2.1.4与c3p0版本0.9.1.2冲突

    报错前的pom文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="h ...