我想检查可以包含任何类型数据的字符串的大小。 我检查过strlen和mb_strlen,但我不确定与不同数据内容有关的差异。
一些背景知识:我最终需要做的是将字符串切成块以将其序列化并将其存储在块中(之后能够恢复)。块总是具有相同的大小(32Kb)并且包含一个带有数据的序列化对象和我剪切的字符串部分,所以我需要字符串的确切大小才能做到这一点。
答案 0 :(得分:2)
从PHP的手册:
Note: strlen() returns the number of bytes rather than the number of characters in a string.
相比之下,mb_strlen会考虑字符编码。它返回字符串中字符编码中定义的实际字符数。对于多字节/可变字节字符编码,strlen可以/将大于mb_strlen。
如果指定要测试的字符串不符合的字符编码,则mb_strlen也可能返回FALSE。