Introdução

Embora existam muitas linguagens nas quais cada caractere necessário pode ser representado por um mapeamento de um para um para um valor de 8 bits, há também várias linguagens que exigem tantos caracteres para a comunicação escrita que não podem ser contidos dentro da faixa que um simples byte pode codificar (um byte é composto por oito bits. Cada bit pode conter apenas dois valores distintos, um ou zero. Devido a isso, um byte só pode representar 256 valores únicos (dois elevado à potência de oito)). Esquemas de codificação de caracteres multibyte foram desenvolvidos para expressar mais de 256 caracteres no sistema de codificação de bytes regular.

Ao manipular (cortar, dividir, emendar, etc.) strings codificadas em uma codificação multibyte, você precisa usar funções especiais, pois dois ou mais bytes consecutivos podem representar um único caractere em tais esquemas de codificação. Caso contrário, se você aplicar uma função de string que não é sensível a multibyte à string, ela provavelmente falhará em detectar o início ou o final do caractere multibyte e acabará com uma string corrompida e inútil que provavelmente perde seu significado original.

mbstring fornece funções de string específicas para multibyte que ajudam a lidar com codificações multibyte em PHP. Além disso, mbstring lida com a conversão de codificação de caracteres entre os pares de codificação possíveis. mbstring é projetada para lidar com codificações baseadas em Unicode, como UTF-8 e UCS-2, e muitas codificações de byte único por conveniência (listadas em Codificações de Caracteres Suportadas).