pre{
line-height:1;
color:#800080;
background-color:#d2c39b;
font-size:16px;}.sysFunc{color:#627cf6;font-style:italic;font-weight:bold;}
.selfFuc{color:#800080;}
.bool{color:#d2576f;}
.condition{color:#000080;font-weight:bold;}
.key{color:#000080;}
.var{color:#800000;font-style:italic;}
.Digit{color:#ff00ff;font-weight:bold;}
.includePre{color:#800080;}
.operator {color:#008000;font-weight:bold;}

 DWORD WORD BYTE 相互转换
  
  DWORD  4个字节
  WORD     2个字节
  BYTE       1个字节
 

1) DWORD--->WORD

 

    DWORD dw=0;  
      
      
    WORD hW=HIWORD(dw);  
    WORD lW=LOWORD(lw);  

2)WORD--->DWORD

 

    DWORD dw=0;  
      
      
    WORD hW=HIWORD(dw);  
    WORD lW=LOWORD(lw);  
      
      
    dw=MAKELONG(lw,hw);  

3) WORD---->BYTE

 

    WORD word=0;  
    BYTE hb=HIBYTE(word);  
    BYTE lb=LOBYTE(word);  

4)BYTE------>WORD

 

    WORD word=0;  
    BYTE hb=HIBYTE(word);  
    BYTE lb=LOBYTE(word);  
      
    word = MAKEWORD(lb,hb);  

5) "ABCD" 或L“你好” 这样的四字节字符串 转换为DWORD 进行保存

 

    WCHAR str[3]={L"你好"};  
      
    memcpy(&dWord,str,4);  
      
      
    WCHAR hChar=(WCHAR)HIWORD(dWord); // 好  
    WCHAR lChar=(WCHAR)LOWORD(dWord); // 你  

综合例子:

 

        char  *name="abcd";  
        DWORD dWord=0;  
      
      
        WORD hw=HIWORD(dWord);  
        WORD lw=LOWORD(dWord);  
      
        BYTE hhb=HIBYTE(hw);  
        BYTE lhb=LOBYTE(hw);  
      
        BYTE hlb=HIBYTE(lw);  
        BYTE llb=LOBYTE(lw);  
      
      
      
        hhb   =   name[0];   
        hlb   =   name[1];   
        lhb   =   name[2];   
        llb   =   name[3];   
      
        hw   =   MAKEWORD(hlb,   hhb);  //ba  
        lw   =   MAKEWORD(llb,   lhb);  //dc  
      
        //dWord 为 "dcba"  
        dWord   =   MAKELONG(lw,   hw); //dcba  
      
        hw=HIWORD(dWord); // ba  
        lw=LOWORD(dWord); // dc  
      
        hhb=HIBYTE(hw);  // a  
        lhb=LOBYTE(hw);  // b  
      
        lhb=HIBYTE(lw);  // c  
        llb=LOBYTE(lw);  // d  
      
      
      
    ///////////////////////  对比程序  ///////////////////////////////////////////////////  
      
        // dWord 为 "abcd"  
        memcpy(&dWord,name,4);  
      
        hw=HIWORD(dWord); // cd  
        lw=LOWORD(dWord); // ab  
      
        hhb=HIBYTE(hw);   // d  
        lhb=LOBYTE(hw);   // c  
      
        lhb=HIBYTE(lw);   // b  
        llb=LOBYTE(lw);   // a  

本文使用 书画小说软件 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。

 

dword word byte 相互转换 .xml的更多相关文章

  1. C#中string和byte[]相互转换问题解决

    本来想讲string转换为byte数组,通过在VS上打 ‘str. “来找,结果半天没发现跳出来的函数中有想要的,哭瞎 /(ㄒoㄒ)/~~ 这回将两种情况都记下来了.... string ---> ...

  2. C++ DWORD 转byte char 数组、指针

    C++ DWORD 转byte char 数组.指针 byte byteData[1024]; // byte数组,示例 DWORD dwData = dwReadBytes; // dword数据, ...

  3. WriteableBitmap/BitmapImage/MemoryStream/byte[]相互转换

    1 WriteableBitmap/BitmapImage/MemoryStream/byte[]相互转换 2012-12-18 17:27:04|  分类: Windows Phone 8|字号 订 ...

  4. Word文件乱码XML

    文章介绍 一个朋友写的文档因为异常关机,导致全部文件变成了xml的乱码,正好帮他解决了,感觉这些或许有些帮助,就先记录下来了. 破损文件介绍 文件破坏之后,打开全是xml格式的文档,结构如下. 恢复过 ...

  5. java 中 image 和 byte[] 相互转换

      java 中 image 和 byte[] 相互转换可恶的…………其实也挺好的 只是把好不容易写出来的东西记下来,怕忘了…… 下面,我来介绍一个简单的 byte[] to image, 我们只需要 ...

  6. C# 导出图片到Word (通过XML实现)

    private void ExportDataToWord(string content) { StringBuilder sbMain = new StringBuilder(); #region ...

  7. DWORD WORD到INT的转换

    最近在做一个有关TCP/TP通信的消息解析,涉及到了这方面的转换,记录一下. 首先,如果是在网络传输.消息解析的情况下,要注意一下网络传送使用的是大端还是小端模式,这影响到我们的高低位的传输顺序. W ...

  8. 序列化之对象,字符串,byte数组,XML之间的转换(一)

    工作一年多了,越来越感到自己不能这样一直下去,在最好的青春里面却已经死了.被时间消磨了意志,被工作杀死了精神.我想,我只要活着,我就要去不断的要求自己,不断的去追求更高的山峰. 放眼四周,有趣的灵魂越 ...

  9. 关于word转化成xml,图片的转换

    当word另存为xml的时候,其中的图片会以Base64编码形式展示在xml文件的特定位置, java中操作图片转换成64位编码的方式: 可将返回的64直接放在前面的未知即可:

随机推荐

  1. Sql server cast(as nvarchar) 默认长度问题

    Sql server 在我的SQL语句中:sql=".........cast(ziduan as nvarchar) ..............." 这样之后,ziduan被转 ...

  2. ado执行sql查询出现“发送数据流时出现算术溢出”错误

    开发一个数据采集监控系统,比较变态的是有将近2000项数据.根据数据类型分多个表存储.数据库访问层采用ado.最近发现当一条sql一次性查询1700多个字段数据后就出现“发送数据流时出现算术溢出”错误 ...

  3. Vi Usage

    标签: linux 编辑工具 md 快捷键以及常用命令(前面带:的是命令) h -> 左移一个字符 j -> 下移一行 k -> 上移一行 l -> 右移一个字符 w或Shif ...

  4. pycharm最新注册方法 pycharm最新激活方法 2016pycharm最新注册方法

    激活注册码:点击确认就可以了 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaW ...

  5. NDK(10)Android.mk各属性简介,Android.mk 常用模板

    参考 : http://blog.csdn.net/hudashi/article/details/7059006 本文内容: Android.mk简介, 各属性表, 常用Android.mk模板 1 ...

  6. SGU 385 Highlander(期望)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=385 题意: 思路: double f[N][N][N],g[N][N],A[N][ ...

  7. 【转】在eclipse上使用Git

    在eclipse上安装好git插件后,进行操作 安装好后,进行,一个简单配置,填入我们的用户名和邮箱 >>Preferences>Team>Git>Configurati ...

  8. selenium-webdriver(python) (十) 如何处理下拉框

    本节重点 处理下拉框 switch_to_alert() accept() 下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再 ...

  9. 基于Linux的oracle数据库管理 part1( 准备及linux基础 )

    主要内容 1. 安装VMware tools (好处, 显示效果增强, 从虚拟机出来不需要alt+ctrl 切换) 2. Linux 启动过程, 方便以后oracle 自动启动与关闭 3. Linux ...

  10. ListView 连接数据库的增删改查

    private string link = "server=.;database=list;user=sa;pwd=123"; public void chaxun() //创建一 ...