16进制码转换ASCII码

原创 2007年09月24日 17:29:00

//----------------------------------------------------------------------
//16进制码转换ASCII码
//----------------------------------------------------------------------
int MN2_KNL_HexToAscii( P_U8 pAscTxt, P_U8 pHexTxt, int iHexTxtLen )
{
    register P_U8   pAscStr;
    register P_U8   pHexCur;
    P_U8            pHexEnd;


    SCI_ASSERT( pAscTxt );
    SCI_ASSERT( pHexTxt );
    SCI_ASSERT( !(iHexTxtLen & 1) );
    pAscStr = pAscTxt;
    pHexCur = pHexTxt;
    pHexEnd = pHexCur + iHexTxtLen;
    while(pHexCur < pHexEnd)
    {
        //填写ASCII码的高4位
        if( ('0' <= *pHexCur) && ('9' >= *pHexCur) )
        {
            *pAscStr = (*pHexCur & 0x0F) << 4;
        }
        else if( ('A' <= *pHexCur) && ('F' >= *pHexCur) )
        {
            *pAscStr = (*pHexCur - 'A' + 10) << 4;
        }
        else if( ('a' <= *pHexCur) && ('f' >= *pHexCur) )
        {
            *pAscStr = (*pHexCur - 'a' + 10) << 4;
        }
        pHexCur++;

        //填写ASCII码的低4位
        if( ('0' <= *pHexCur) && ('9' >= *pHexCur) )
        {
            *pAscStr += (*pHexCur & 0x0F);
        }
        else if( ('A' <= *pHexCur) && ('F' >= *pHexCur) )
        {
            *pAscStr += (*pHexCur - 'A' + 10);
        }
        else if( ('a' <= *pHexCur) && ('f' >= *pHexCur) )
        {
            *pAscStr += (*pHexCur - 'a' + 10);
        }
        pHexCur++;

        pAscStr++;
    }

    return (int)(iHexTxtLen / 2);
}
 

ASCII码与16进制转换对照表

十六进制代码 MCS 字符或缩写 DEC 多国字符名 ASCII 控制字符 1 00 NUL 空字符...
  • zzw182100
  • zzw182100
  • 2015年03月11日 15:40
  • 13434

用C++编写16进制字符数组转ASCII码字符数组的函数

在通信中经常用到二进制和ASCII码互相转换的功能
  • gzliudan
  • gzliudan
  • 2014年04月11日 23:12
  • 2097

java_js十六进制和ASCII码互相转换。

package jetf; public class StringToHex { public String convertStringToHex(String str) { char[]...
  • wangbo54979
  • wangbo54979
  • 2016年03月31日 13:41
  • 2767

C通用函数:ASCII与十六制字符串互相转换

在用QT做一个串口通讯软件。在接收数据时,一般的串口收发软件的数据窗口都有ASCII显示模式,也可以转换成HEX十六进制模式。这样有利调试。 因此写了两个函数进行转换,其中ASCII转16进制算法...
  • memory_exception
  • memory_exception
  • 2016年09月08日 09:18
  • 4698

用C++实现ASCII码字符数组转16进制字符数组的功能

在网络通信中经常用到16进制和ASCII码字符数组互相转换的功能,虽然功能简单,但初学者写出来的代码经常会有各种问题。从ASCII码字符数组转为16进制字符数组,一个判断比较完整的实现代码如下: bo...
  • gzliudan
  • gzliudan
  • 2014年04月12日 08:54
  • 2936

将16进制文本转换为ascii码的C语言代码

我用的将16进制文本转换为ascii码的C语言代码。16进制文本复制到文件test.txt中,运行程序,将得到输入。   例: 运行:./CSTRING test.txt   其中,test.txt文...
  • Season_hangzhou
  • Season_hangzhou
  • 2013年03月15日 16:27
  • 9001

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化 标签: c#stringbytebuffer 2012-02-21 09:55 19124人阅读 评论(1) 收藏 举报 ...
  • tudou880306
  • tudou880306
  • 2017年08月07日 15:44
  • 1286

Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

public class DigitalTrans {     /**      * 数字字符串转ASCII码字符串      *      * @param String      ...
  • scandly_java
  • scandly_java
  • 2016年05月09日 12:54
  • 5975

十六进制、BCD码和十进制的转换

在做嵌入式软件的设计中,经常会遇到十六进制、 BCD 码与十进制之间的转换,最近做 M1 卡的应用中,涉及了大量的十六进制、 BCD 码与十进制之间的转换。笔者通过对 BCD 码、十六进制 权的理解,...
  • u010780613
  • u010780613
  • 2016年01月11日 14:58
  • 1495

ASCII码值转化十六进制,十进制数;十六进制字符值转十进制,ASCII码值;

ASCII码值转化十六进制,十进制数;十六进制字符值转十进制,ASCII码值;
  • qq_33557833
  • qq_33557833
  • 2017年04月17日 15:17
  • 2169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:16进制码转换ASCII码
举报原因:
原因补充:

(最多只允许输入30个字)