什么是带长度前缀的字符串?当以 8 位二进制编码时,它们是什么样子的?
What are length prefixed strings and what do they look like when encoded in 8-bit binary?
这是问题所在:
Pascal 使用长度前缀字符串,其中字符串的长度以 8 位二进制编码并存储
在字符串之前。给出“BYE!”的位串,以 8 位 ASCII 编码,因为它将被编码为
帕斯卡
我了解字符串 "BYE!" 将如何以 8 位 ASCII 编码,但我不了解在字符串之前编码和存储的字符串长度应该如何看待。我也知道如何找到字符串中每个字符的十进制等效值,但我不确定是否有必要回答这个问题。
用ASCII编码的字符串"BYE!"是:'B' = 01000010, 'Y' = 01011001, 'E' = 01000101, '!' = 00100001.
字符串 "BYE!" 的十进制等效值是:'B' = 66,'Y' = 89,'E' = 69,'!' = 33.
字符串长度为4个字符。
8 位二进制表示数字 4 表示为 00000100
因此在 Pascal 中它应该 = 00000100 01000010 01011001 01000101 00100001
字符串长度的 8 位二进制与实际字符串所需的 8 位 ascii 不同。
这是问题所在:
Pascal 使用长度前缀字符串,其中字符串的长度以 8 位二进制编码并存储 在字符串之前。给出“BYE!”的位串,以 8 位 ASCII 编码,因为它将被编码为 帕斯卡
我了解字符串 "BYE!" 将如何以 8 位 ASCII 编码,但我不了解在字符串之前编码和存储的字符串长度应该如何看待。我也知道如何找到字符串中每个字符的十进制等效值,但我不确定是否有必要回答这个问题。
用ASCII编码的字符串"BYE!"是:'B' = 01000010, 'Y' = 01011001, 'E' = 01000101, '!' = 00100001.
字符串 "BYE!" 的十进制等效值是:'B' = 66,'Y' = 89,'E' = 69,'!' = 33.
字符串长度为4个字符。
8 位二进制表示数字 4 表示为 00000100
因此在 Pascal 中它应该 = 00000100 01000010 01011001 01000101 00100001
字符串长度的 8 位二进制与实际字符串所需的 8 位 ascii 不同。