“努力学习” 发表于 2016-11-11 23:17:21

帮我编一个可以把16进制ascll码转换为字符的程序。。

无语了,帮帮忙。。。

jacklusch 发表于 2016-11-12 08:26:14

问题描述不清晰,如果单纯是hex2ascii的话直接(char)强转就可以,不过我估计你的想法是用在网络字节序的抓换上,,贴一个我之前的 代码不严谨但是可用.

jacklusch 发表于 2016-11-12 08:27:04

char * byte2Hex(const byte* szbuff, int len)//一个字节转化为2个字节==
{
        if (len<=0||*szbuff==NULL)
        {
                return NULL;
        }
        int nRLEN = 2 * len + 3;//实际需要的长度等于 len*2+3 步长为3
        char * szSource = (char *)szbuff;//备份原始指针
       char * szDest = new char;//分配空间
        char * szTemp = szDest;//备份指针
        memset(szDest, 0, nRLEN);//初始化数据
        for (int i = 0; i < len;i++,szSource++)//循环中指针递增
        {
                sprintf(szTemp, "%02X",*(BYTE*) szSource);
                szTemp += 2;//2个字节的步长
        }
        return szDest;
}

“努力学习” 发表于 2016-11-12 14:31:43

jacklusch 发表于 2016-11-12 08:27


我指的就是把十六进制的数转化为ASCLL码表中对应得字符,别无他意{:5_91:},还请帮帮忙,谢谢啦??

“努力学习” 发表于 2016-11-12 14:32:49

最好是一个exe程序,不行的话代码也行!!!{:10_245:}

qwe1231069 发表于 2016-11-17 10:44:16

直接上汇编!
做一个数据段直接寻址怎么样
{:10_256:}{:10_256:}

“努力学习” 发表于 2016-11-17 12:13:38

qwe1231069 发表于 2016-11-17 10:44
直接上汇编!
做一个数据段直接寻址怎么样

你走开{:5_90:}我又没学过汇编。。我早解决了,,,,,不用了,,谢谢
页: [1]
查看完整版本: 帮我编一个可以把16进制ascll码转换为字符的程序。。