虽然有很多语言可以使用一对一的映射到 8 位值来表示所有必要的字符,但也有一些语言需要如此多的字符才能进行书面交流,以至于它们无法包含在单个字节所能编码的范围内(一个字节由八位组成。每一位只能包含两个不同的值,零或一。因此,一个字节只能表示 256 个唯一值(二的八次方))。多字节字符编码方案是为了在常规的逐字节编码系统中表达超过 256 个字符而开发的。
当您操作(修剪、拆分、拼接等)以多字节编码编码的字符串时,您需要使用特殊函数,因为在这种编码方案中,两个或多个连续的字节可能代表单个字符。否则,如果您对字符串应用非多字节感知的字符串函数,它可能会无法检测到多字节字符的开头或结尾,并最终得到一个损坏的垃圾字符串,该字符串很可能丢失其原始含义。
mbstring
提供了特定于多字节的字符串函数,可帮助您处理 PHP 中的多字节编码。除此之外,mbstring
还处理可能的编码对之间的字符编码转换。mbstring
旨在处理基于 Unicode 的编码(如 UTF-8 和 UCS-2)以及许多单字节编码以方便使用(列在支持的字符编码中)。