【问题标题】:Converting Hexadecimal NUmbers in English ASCII characters在英文 ASCII 字符中转换十六进制数字
【发布时间】:2019-10-13 22:25:38
【问题描述】:

在下面给出的代码中,我得到了 Hexa 十进制值..即68 65 68 65...我想把它转换成英文字母,比如hehe...

我无法将获得的十六进制数字转换为其英文字符

printf("\nCommand: ");
for(i = 54; i<=57; i++)
{       
printf("%X", packet[i]);
printf(" ");
}

打印68 65 68 65,但我想要hehe

【问题讨论】:

  • 您没有提及您使用的语言。您应该将其添加为标签(就像您对 smtp、hex 和 co 所做的那样),以便我们准确了解您想要什么并提供更好的帮助。
  • 程序中的所有数字都是二进制的。十六进制、ASCII 等只是显示/格式化二进制数的各种方式。因此,“从十六进制转换为字符”没有意义。您已经拥有二进制格式的数据。您只需要将其显示为文本,因此您的问题归结为“如何打印字符”。你的 C 编程书很早就回答了。

标签: c hex ascii


【解决方案1】:

您可以使用以下代码获取数字的字母:

alphabet = printf("%c", Number);

【讨论】:

  • 这个答案不是 C
【解决方案2】:

你需要使用%c

printf("%c", packet[i]);

%X 会将值打印为十六进制数字。见http://www.cplusplus.com/reference/cstdio/printf/

【讨论】:

    猜你喜欢
    • 2015-05-22
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2022-01-09
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多