这些数字将转换为文本吗?

问题描述 投票:0回答:1
/***
 * Author: Omar IRAQI
*/

#include <stdio.h>
#include <stdlib.h>
#define N 11

int main(void) {
    int i, *p, encoded_message[] = {1634558290, 544104804, 1701994827, 539782501, 1918985572, 
                                1970565920, 1953391972, 1226845811, 1936289056, 1870209139, 8565};
    char *message;

    printf("%s\n", (char*)encoded_message);

    /**
     * Let's say it again!
     */
    message = (char*)malloc(N * sizeof(int));
    p = (int*)message;

    for (i=0; i < N; i++, p++)
        *p = encoded_message[i];

    printf("%s\n", message);
    return 0;
}

这将输出两次消息:斋月,亲爱的学生们。我想念你!

我想知道这些编码数字是什么,因为它们与ASCII码不匹配

c ascii
1个回答
0
投票

每个int应该分成4个字节,以恢复各个ascii码。您可以简单地将每个数字打印为十六进制。

© www.soinside.com 2019 - 2024. All rights reserved.