zoukankan      html  css  js  c++  java
  • JAVA byte[], int, long三者之间的相互转换代码

    public final static byte[] getBytes(short s, boolean asc) {
        
    byte[] buf = new byte[2];
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            buf[i] 
    = (byte) (s & 0x00ff);
            s 
    >>= 8;
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            buf[i] 
    = (byte) (s & 0x00ff);
            s 
    >>= 8;
          }
        
    return buf;
      }
      
    public final static byte[] getBytes(int s, boolean asc) {
        
    byte[] buf = new byte[4];
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            buf[i] 
    = (byte) (s & 0x000000ff);
            s 
    >>= 8;
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            buf[i] 
    = (byte) (s & 0x000000ff);
            s 
    >>= 8;
          }
        
    return buf;
      }
      
    public final static byte[] getBytes(long s, boolean asc) {
        
    byte[] buf = new byte[8];
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            buf[i] 
    = (byte) (s & 0x00000000000000ff);
            s 
    >>= 8;
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            buf[i] 
    = (byte) (s & 0x00000000000000ff);
            s 
    >>= 8;
          }
        
    return buf;
      }
      
    public final static short getShort(byte[] buf, boolean asc) {
        
    if (buf == null) {
          
    throw new IllegalArgumentException("byte array is null!");
        }
        
    if (buf.length > 2) {
          
    throw new IllegalArgumentException("byte array size > 2 !");
        }
        
    short r = 0;
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00ff);
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00ff);
          }
        
    return r;
      }
      
    public final static int getInt(byte[] buf, boolean asc) {
        
    if (buf == null) {
          
    throw new IllegalArgumentException("byte array is null!");
        }
        
    if (buf.length > 4) {
          
    throw new IllegalArgumentException("byte array size > 4 !");
        }
        
    int r = 0;
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x000000ff);
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x000000ff);
          }
        
    return r;
      }
      
    public final static long getLong(byte[] buf, boolean asc) {
        
    if (buf == null) {
          
    throw new IllegalArgumentException("byte array is null!");
        }
        
    if (buf.length > 8) {
          
    throw new IllegalArgumentException("byte array size > 8 !");
        }
        
    long r = 0;
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00000000000000ff);
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00000000000000ff);
          }
        
    return r;
      }
  • 相关阅读:
    nginx反向代理配置去除前缀
    centos6.x yum源站失效
    Shell if 条件判断
    使用Shell显示脚本使用帮助
    libmysqlclient.so.20 错误问题解决
    linux中ldconfig的使用介绍
    【源码解读】Vue与ASP.NET Core WebAPI的集成
    【Golang】快速复习指南QuickReview(十一)——数据库访问(MySql为例)
    【Golang】快速复习指南QuickReview(十)——goroutine池
    【Golang】快速复习指南QuickReview(九)——socket
  • 原文地址:https://www.cnblogs.com/super119/p/1924542.html
Copyright © 2011-2022 走看看