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 转载请注明出处。
  • 相关阅读:
    Linux YUM (Yellowdog Updater, Modified) Commands for Package Management
    awk命令例子详解
    sed命令例子详解
    浅谈XX系统跨平台迁移(测试环境)
    Postgres常用命令之增、删、改、查
    Postgres主备切换
    Postgres配置主从流复制
    Crontab定时任务
    GIL全局锁测试
    python try exception finally记录
  • 原文地址:https://www.cnblogs.com/evlon/p/381947.html
Copyright © 2011-2022 走看看