什么是 Pascal 风格的字符串?
What is a Pascal-style string?
Photoshop file format documentation 提到了 Pascal 字符串,但没有解释它们是什么。
那么,它们是什么,它们是如何编码的?
Pascal 风格的字符串有一个前导字节 (length
),后跟 length
字节的字符数据。
这意味着 Pascal 风格的字符串只能编码长度在 0 到 255 个字符之间的字符串(假设是单字节字符编码,例如 ASCII)。
顺便说一句,另一种流行的字符串编码是 C 风格的字符串,它没有长度说明符,但使用零字节来表示字符串的结尾。因此它们没有长度限制。
然而,其他编码可能会使用更多的前缀字节来促进更长的字符串。终止符 bytes/sentinels 也可以与长度前缀一起使用。
Photoshop file format documentation 提到了 Pascal 字符串,但没有解释它们是什么。
那么,它们是什么,它们是如何编码的?
Pascal 风格的字符串有一个前导字节 (length
),后跟 length
字节的字符数据。
这意味着 Pascal 风格的字符串只能编码长度在 0 到 255 个字符之间的字符串(假设是单字节字符编码,例如 ASCII)。
顺便说一句,另一种流行的字符串编码是 C 风格的字符串,它没有长度说明符,但使用零字节来表示字符串的结尾。因此它们没有长度限制。
然而,其他编码可能会使用更多的前缀字节来促进更长的字符串。终止符 bytes/sentinels 也可以与长度前缀一起使用。