ByteUtil 工具类

  1. import java.io.FileOutputStream;
  2. import java.io.OutputStream;
  3. import java.nio.charset.Charset;
  4.  
  5. /**
  6. * @author lishupeng
  7. * @create 2017-05-03 下午 5:39
  8. **/
  9. public class ByteUtil {
  10. public static byte[] getBytes(short data) {
  11. byte[] bytes = new byte[2];
  12. bytes[0] = (byte) (data & 0xff);
  13. bytes[1] = (byte) ((data & 0xff00) >> 8);
  14. return bytes;
  15. }
  16.  
  17. public static byte[] getBytes(char data) {
  18. byte[] bytes = new byte[2];
  19. bytes[0] = (byte) (data);
  20. bytes[1] = (byte) (data >> 8);
  21. return bytes;
  22. }
  23.  
  24. public static byte[] getBytes(int data) {
  25. byte[] bytes = new byte[4];
  26. bytes[0] = (byte) (data & 0xff);
  27. bytes[1] = (byte) ((data & 0xff00) >> 8);
  28. bytes[2] = (byte) ((data & 0xff0000) >> 16);
  29. bytes[3] = (byte) ((data & 0xff000000) >> 24);
  30. return bytes;
  31. }
  32.  
  33. public static byte[] getBytes(long data) {
  34. byte[] bytes = new byte[8];
  35. bytes[0] = (byte) (data & 0xff);
  36. bytes[1] = (byte) ((data >> 8) & 0xff);
  37. bytes[2] = (byte) ((data >> 16) & 0xff);
  38. bytes[3] = (byte) ((data >> 24) & 0xff);
  39. bytes[4] = (byte) ((data >> 32) & 0xff);
  40. bytes[5] = (byte) ((data >> 40) & 0xff);
  41. bytes[6] = (byte) ((data >> 48) & 0xff);
  42. bytes[7] = (byte) ((data >> 56) & 0xff);
  43. return bytes;
  44. }
  45.  
  46. public static byte[] getBytes(float data) {
  47. int intBits = Float.floatToIntBits(data);
  48. return getBytes(intBits);
  49. }
  50.  
  51. public static byte[] getBytes(double data) {
  52. long intBits = Double.doubleToLongBits(data);
  53. return getBytes(intBits);
  54. }
  55.  
  56. public static byte[] getBytes(String data, String charsetName) {
  57. Charset charset = Charset.forName(charsetName);
  58. return data.getBytes(charset);
  59. }
  60.  
  61. public static byte[] getBytes(String data) {
  62. return getBytes(data, "GBK");
  63. }
  64.  
  65. public static short getShort(byte[] bytes) {
  66. return (short) ((0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)));
  67. }
  68.  
  69. public static char getChar(byte[] bytes) {
  70. return (char) ((0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)));
  71. }
  72.  
  73. public static int getInt(byte[] bytes) {
  74. return (0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)) | (0xff0000 & (bytes[2] << 16)) | (0xff000000 & (bytes[3] << 24));
  75. }
  76.  
  77. public static long getLong(byte[] bytes) {
  78. return (0xffL & (long) bytes[0]) | (0xff00L & ((long) bytes[1] << 8)) | (0xff0000L & ((long) bytes[2] << 16)) | (0xff000000L & ((long) bytes[3] << 24))
  79. | (0xff00000000L & ((long) bytes[4] << 32)) | (0xff0000000000L & ((long) bytes[5] << 40)) | (0xff000000000000L & ((long) bytes[6] << 48)) | (0xff00000000000000L & ((long) bytes[7] << 56));
  80. }
  81.  
  82. public static float getFloat(byte[] bytes) {
  83. return Float.intBitsToFloat(getInt(bytes));
  84. }
  85.  
  86. public static double getDouble(byte[] bytes) {
  87. long l = getLong(bytes);
  88. System.out.println(l);
  89. return Double.longBitsToDouble(l);
  90. }
  91.  
  92. public static String getString(byte[] bytes, String charsetName) {
  93. return new String(bytes, Charset.forName(charsetName));
  94. }
  95.  
  96. public static String getString(byte[] bytes) {
  97. return getString(bytes, "GBK");
  98. }
  99.  
  100. public static void main(String[] args) {
  101. byte[] a = {1,2};
  102. System.out.println("111 "+getString(a));;
  103.  
  104. // short s = 122;
  105. // int i = 122;
  106. // long l = 1222222;
  107. //
  108. // char c = 'a';
  109. //
  110. // float f = 122.22f;
  111. // double d = 122.22;
  112. //
  113. // String string = "我是好孩子";
  114. // System.out.println(s);
  115. // System.out.println(i);
  116. // System.out.println(l);
  117. // System.out.println(c);
  118. // System.out.println(f);
  119. // System.out.println(d);
  120. // System.out.println(string);
  121. //
  122. // System.out.println("**************");
  123. //
  124. // System.out.println(getShort(getBytes(s)));
  125. // System.out.println(getInt(getBytes(i)));
  126. // System.out.println(getLong(getBytes(l)));
  127. // System.out.println(getChar(getBytes(c)));
  128. // System.out.println(getFloat(getBytes(f)));
  129. // System.out.println(getDouble(getBytes(d)));
  130. // System.out.println(getString(getBytes(string)));
  131.  
  132. }
  133. }

ByteUtil 工具类的更多相关文章

  1. SFTP工具类

    1.SFTP搭建方法: 地址: http://www.jb51.net/article/101405.htm https://blog.csdn.net/helloloser/article/deta ...

  2. Android-ByteUtil工具类

    Byte处理转换相关的工具类: public class ByteUtil { private ByteUtil(){} /** * 把byte[] 转成 Stirng * @param bytes ...

  3. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  4. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  5. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  6. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  7. Guava库介绍之实用工具类

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

  8. Java程序员的日常—— Arrays工具类的使用

    这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...

  9. .net使用正则表达式校验、匹配字符工具类

    开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...

随机推荐

  1. CentOS搭建Sqoop环境

              Sqoop是一个用来将Hadoop(Hive.HBase)和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的 ...

  2. ORB-SLAM 代码笔记(二)

    ORB-SLAM中除了第三方库,基本没有看到使用c++11的新特性(例如别的SLAM框架中常用的智能指针,拷贝控制,泛型算法等,基本没有使用动态内存,栈内存读取速度较快),因此非常适合初学,代码很清晰 ...

  3. Anytime项目开发记录3

    应用想要做的好,反馈必然少不了~哈哈~ 用户的反馈.意见.建议,甚至是谩骂,都是对项目的反馈. 如果一个应用没有听取用户的反馈,那么应用会离着用户越来越远.懂得用户要什么是一回事,听得到用户的反馈,则 ...

  4. [B2B、B2C、C2C] 区别介绍

    最近在学习建站系统的时候,偶尔我们的老大会说几个自己所不太了解的名词“简称”,所以呢?我就总结了一下,如果有不全面的地方,还请博友们多多指点! B2B B2B(也有写成BTB)是指企业对企业之间的营销 ...

  5. IDEA 中.properties文件中文自动转Unicode编码及乱码问题

    问题描述: 在使用IDEA开发工具编辑属性文件(.properties)的时候出现中文自动转成了Unicode编码,或在读取属性文件的时候中文出现乱码. 问题解决: 进入 File -> Set ...

  6. flask_sqlalchemy中db.session是如何保持请求间独立的--源码阅读笔记

    本文主要是为了验证两个问题: flask处理请求时通过新建线程.进程.协程的区别(顺带一提) flask_sqlalchemy是如何使用db.session使多个请求中保函的改变同一个表的sql操作不 ...

  7. [转载]深入理解Batch Normalization批标准化

    文章转载自:http://www.cnblogs.com/guoyaohua/p/8724433.html Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和 ...

  8. C++学习---- static关键字用法总结

    static: 作用:存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static变量. 1.隐藏:(静态全局变量和静态函数)   ...

  9. C#中System.DBNull的问题

    今天写一个C#的数据库Demo,第一个功能,用户登录,数据库中用户表(Staff)最后一个字段ZP(呵呵,PowerDesigner中文直接翻译的)照片字段为空, 我的登录逻辑是通过用户名以及密码查询 ...

  10. pta编程(1-8)

    知识点:本次编程运用到的格式 #include<stdio.h> int main(void) { printf(); return 0; } 过程:1-3.没什么问题,就是注意字符的输入 ...