zoukankan      html  css  js  c++  java
  • [原创]Java下X86机,Bytes和Int的转换

         Java默认的从Int32到Byte[4]的转换,是高位在前。而在C#等Window程序通过网络发送数据时,Int32数写入流时,写得一般是低位在前,高位在后。
         为了使它们能够正确的交互,需要用Java按照X86的习惯来处理Byte[4]和Int32之间的相互转换。
        /*
    作者:阿牛(牛昆亮) QQ:273352165 MSN:niukl@hotmail.com

    声明:可以免费使用,请您保留此信息
        如果您有什么改过,记得告诉我!
    */
            private static byte[] getBytes(int val)
        
    {
            
    byte[] ret = new byte[4];
            
    int v = val;
            ret[
    0= (byte)(v & 0x00ff);
            ret[
    1= (byte)(v>>=8 & 0x00ff);
            ret[
    2= (byte)(v>>=8 & 0x00ff);
            ret[
    3= (byte)(v>>=8 & 0x00ff);
            
    return ret;
        }

        
        
    private static int fromBytes(byte[] val)
        
    {
            
    int ret = 0;
            ret 
    |= (int)(val[0& 0xff<< 0;
            ret 
    |= (int)(val[1& 0xff<< 8;
            ret 
    |= (int)(val[2& 0xff<< 16;
            ret 
    |= (int)(val[3& 0xff<< 24;
            
            
    return ret;
        }

    QQ:273352165 evlon#126.com 转载请注明出处。
  • 相关阅读:
    python .npy 存取 dict
    python 找零钱方案
    docker 容器里显示图形
    docker 安装vim
    软件测试基础知识
    Git命令——学习笔记2
    Git命令——学习笔记1
    Win10配置Git环境变量与基本使用
    Selenium Web自动化测试——基于unittest框架的PO设计模式
    Django+Celery学习笔记5——定时推送消息
  • 原文地址:https://www.cnblogs.com/evlon/p/381947.html
Copyright © 2011-2022 走看看