【问题标题】:Convert array of hex values to corresponding ascii characters将十六进制值数组转换为相应的 ascii 字符
【发布时间】:2015-01-23 07:00:05
【问题描述】:

我想将一个十六进制数字数组转换为对应的 ascii 字符?

例如:

arr_hex[] = {6,1,6,2,6,5,6,A,7,A}

arr_ascii[] = {a,b,e,j,z}

【问题讨论】:

  • 也许这对你有帮助:stackoverflow.com/q/16519056/3933332
  • 我假设您的意思是 0xA 而不是 A。无论如何, shift + add 应该可以解决问题。
  • 这是一个糟糕的方法。你为什么不使用类似int arr_hex[] = {0x61,0x62,0x65,0x6A,0x7A} 的东西?

标签: c


【解决方案1】:
#include <stdio.h>

#define A 10
#define B 11
#define C 12
#define D 13
#define E 14
#define F 15

int main(void){
    int arr_hex[] = {6,1,6,2,6,5,6,A,7,A};
    int size = sizeof(arr_hex)/sizeof(*arr_hex);
    char arr_ascii[size/2];
    int i, j;
    for(j=i=0; j < size/2; i+=2){
        printf("%c", arr_ascii[j++] = arr_hex[i]*16 + arr_hex[i+1]);
    }
    printf("\n");
    return 0;
}

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 2022-01-09
    • 2011-11-21
    • 2019-01-08
    • 2017-03-11
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多