Aunque exiten muchos idiomas en los cuales cada carácter necesario puede ser representado por una referencia uno a uno a un valor de 8 bits, existen también bastantes idiomas que requieren tantos caracteres para la comunicación escrita que no pueden ser representados dentro del rango que un mero byte puede codificar (un byte se compone de ocho bits. Cada bit puede contener solamente dos valores distintos, uno o cero. Debido a esto, con un byte solo se pueden representar 256 valores únicos (2 a la 8ª potencia)). Los esquemas de codificación multibyte fueron desarrollados precisamente para expresar más de 256 caracteres en el sistema de codificación regular a nivel de bits.
Cuando se manipulan cadenas de caracteres (trim, split, splice, etc.) en una codificación multibyte, es neceario utilizar funciones especiales, ya que dos o más bytes consecutivos pueden representar un único carácter en tal esquema de codificación. Si, de lo contrario, se usa una función que no considera caracteres multibyte con la cadena de caracteres, es probable que falle al detectar el comienzo o el final del carácter multibyte, y que se termine con una cadena de caracteres corrupta que probablemente pierda su significado original.
mbstring
proporciona funciones específicas para cadenas de texto
multibyte que ayudan a tratar codificaciones multibyte en PHP. Además,
mbstring
controla la conversión de la codificación de caracteres entre
los posibles esquemas de codificación. mbstring
está diseñada para
manejar codificaciones basadas en Unicode, tales como UTF-8 y UCS-2, y, por conveniencia,
varias codificaciones de un solo byte (enumeradas más adelante).