Memory 通过ASCII编码将内存内容转换为字符串

Memory 通过ASCII编码将内存内容转换为字符串,memory,hex,ascii,Memory,Hex,Ascii,我必须使用ASCII编码将一些内存内容转换成字符串。例如: 0x6A636162 但我不知道如何将其分解为ASCII码。我认为这与一个字符/数字中有多少位有关,但我不确定该怎么做(当然,我想知道更多的原因,而不仅仅是“如何做”)。ASCII使用7位编码字符(http://en.wikipedia.org/wiki/ASCII). 但是,通常使用8位来编码字符(请注意,从技术上讲,这不是ASCII)。因此,您需要将数据拆分为8位块,并将其与ASCII表匹配 如果您使用的是特定的编程语言,它可能有

我必须使用ASCII编码将一些内存内容转换成字符串。例如:

0x6A636162

但我不知道如何将其分解为ASCII码。我认为这与一个字符/数字中有多少位有关,但我不确定该怎么做(当然,我想知道更多的原因,而不仅仅是“如何做”)。

ASCII使用7位编码字符(http://en.wikipedia.org/wiki/ASCII). 但是,通常使用8位来编码字符(请注意,从技术上讲,这不是ASCII)。因此,您需要将数据拆分为8位块,并将其与ASCII表匹配

如果您使用的是特定的编程语言,它可能有一种将ASCII代码转换为字符的方法。例如,Ruby有.chr方法,Python有chr()内置函数,在C中可以打印f(“%C”,number)

请注意,每个半字节(4位)可以表示为一个十六进制数字,因此对于您显示的示例字符串,每个8位“块”将是:

0x6A
0x63
0x61
0X62
字符串读作“jcab”:)

Oh ok,所以8位“chunks”是2个十六进制字符。谢谢