您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页bcd-ascii相互转换函数

bcd-ascii相互转换函数

来源:华拓科技网

// BCD转ASCII

int Asc2Bcd(unsigned char *input, unsigned int inputLen, unsigned char *output)

{

    unsigned char temp;
    unsigned int i;

    if (input == NULL || output == NULL) {
        return -1;
    }

    for (i = 0; i < inputLen; i += 2) {
        temp = input[i];
        if (temp > '9') {
            temp = (unsigned char)toupper((unsigned char)temp) - 'A' + 0x0A;
        } else {
            temp &= 0x0F;
        }
        output[i / 2] = temp << 4;

        temp = input[i+1];
        if (temp > '9') {
            temp = (unsigned char)toupper((unsigned char)temp) - 'A' + 0x0A;
        } else {
            temp &= 0x0F;
        }
        output[i/2] |= temp;
    }

    return 0;

}

// ASCII转BCD

int Bcd2Asc(unsigned char *input, unsigned int inputLen, unsigned char *output)

{

    const unsigned char ascii[] = "01234567ABCDEF";
    unsigned int i;

    if (input == NULL || output == NULL) {
        return –1;

    }

    for (i = 0; i < inputLen; i++)
    {
        output[2 * i]   = ascii[(input[i] >> 4)];
        output[2 * i + 1] = ascii[(input[i] & 0x0F)];
    }

    return 0;

}

转载于:https://www.cnblogs.com/wanhuan/p/6242581.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务