ByteUtil 工具类
ByteUtil 工具类
- import java.io.FileOutputStream;
- import java.io.OutputStream;
- import java.nio.charset.Charset;
- /**
- * @author lishupeng
- * @create 2017-05-03 下午 5:39
- **/
- 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) {
- byte[] a = {1,2};
- System.out.println("111 "+getString(a));;
- // 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)));
- }
- }
ByteUtil 工具类的更多相关文章
- SFTP工具类
1.SFTP搭建方法: 地址: http://www.jb51.net/article/101405.htm https://blog.csdn.net/helloloser/article/deta ...
- Android-ByteUtil工具类
Byte处理转换相关的工具类: public class ByteUtil { private ByteUtil(){} /** * 把byte[] 转成 Stirng * @param bytes ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Guava库介绍之实用工具类
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- .net使用正则表达式校验、匹配字符工具类
开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...
随机推荐
- CentOS搭建Sqoop环境
Sqoop是一个用来将Hadoop(Hive.HBase)和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的 ...
- ORB-SLAM 代码笔记(二)
ORB-SLAM中除了第三方库,基本没有看到使用c++11的新特性(例如别的SLAM框架中常用的智能指针,拷贝控制,泛型算法等,基本没有使用动态内存,栈内存读取速度较快),因此非常适合初学,代码很清晰 ...
- Anytime项目开发记录3
应用想要做的好,反馈必然少不了~哈哈~ 用户的反馈.意见.建议,甚至是谩骂,都是对项目的反馈. 如果一个应用没有听取用户的反馈,那么应用会离着用户越来越远.懂得用户要什么是一回事,听得到用户的反馈,则 ...
- [B2B、B2C、C2C] 区别介绍
最近在学习建站系统的时候,偶尔我们的老大会说几个自己所不太了解的名词“简称”,所以呢?我就总结了一下,如果有不全面的地方,还请博友们多多指点! B2B B2B(也有写成BTB)是指企业对企业之间的营销 ...
- IDEA 中.properties文件中文自动转Unicode编码及乱码问题
问题描述: 在使用IDEA开发工具编辑属性文件(.properties)的时候出现中文自动转成了Unicode编码,或在读取属性文件的时候中文出现乱码. 问题解决: 进入 File -> Set ...
- flask_sqlalchemy中db.session是如何保持请求间独立的--源码阅读笔记
本文主要是为了验证两个问题: flask处理请求时通过新建线程.进程.协程的区别(顺带一提) flask_sqlalchemy是如何使用db.session使多个请求中保函的改变同一个表的sql操作不 ...
- [转载]深入理解Batch Normalization批标准化
文章转载自:http://www.cnblogs.com/guoyaohua/p/8724433.html Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和 ...
- C++学习---- static关键字用法总结
static: 作用:存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static变量. 1.隐藏:(静态全局变量和静态函数) ...
- C#中System.DBNull的问题
今天写一个C#的数据库Demo,第一个功能,用户登录,数据库中用户表(Staff)最后一个字段ZP(呵呵,PowerDesigner中文直接翻译的)照片字段为空, 我的登录逻辑是通过用户名以及密码查询 ...
- pta编程(1-8)
知识点:本次编程运用到的格式 #include<stdio.h> int main(void) { printf(); return 0; } 过程:1-3.没什么问题,就是注意字符的输入 ...