# Strings multibyte

# Introducción

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 strings (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 en Codificaciones de caracteres soportadas).

- Instalación/Configuración
  - Instalación
  - Configuración en tiempo de ejecución
- Constantes predefinidas
- Juegos de caracteres soportados
- Casos de caracteres japoneses
- Entradas/Salidas HTTP
- Juegos de caracteres soportados
- Función de sobrecarga
- Requerimientos para la codificación de caracteres en PHP
- Funciones de strings multibyte
  - mb_check_encoding — Verifica si las cadenas son válidas para el encodage especificado
  - mb_chr — Devuelve un carácter por su valor de punto de código Unicode
  - mb_convert_case — Realiza una conversión a mayúsculas/minúsculas de un string
  - mb_convert_encoding — Convertir una cadena de un codificación de caracteres a otra
  - mb_convert_kana — Convierte un "kana" en otro ("zen-kaku", "han-kaku" y más)
  - mb_convert_variables — Convierte la codificación de variables
  - mb_decode_mimeheader — Decodifica un encabezado MIME
  - mb_decode_numericentity — Decodificar referencia numérica de cadena HTML a carácter
  - mb_detect_encoding — Detectar la codificación de caracteres
  - mb_detect_order — Lee/modifica el orden de detección de codificaciones
  - mb_encode_mimeheader — Codifica una cadena para un encabezado MIME
  - mb_encode_numericentity — Codifica caracteres a referencia numérica HTML
  - mb_encoding_aliases — Obtiene los alias de un tipo de codificación conocido
  - mb_ereg — Búsqueda por expresión regular con soporte para caracteres multibyte
  - mb_ereg_match — Expresión regular POSIX para strings multibyte
  - mb_ereg_replace — Reemplaza segmentos de cadena mediante expresiones regulares
  - mb_ereg_replace_callback — Buscar y reemplazar mediante expresión regular con soporte multi byte utilizando una función de devolución de llamada
  - mb_ereg_search — Búsqueda por expresión regular multioctets
  - mb_ereg_search_getpos — Devuelve la posición de inicio para la siguiente comparación de una expresión regular
  - mb_ereg_search_getregs — Lee el último segmento de cadena multioctets que coincide con el patrón
  - mb_ereg_search_init — Configura las cadenas y las expresiones regulares para el soporte de caracteres multioctetos
  - mb_ereg_search_pos — Retorna la posición y la longitud del segmento de string que cumple con el patrón de expresión regular
  - mb_ereg_search_regs — Retorna el segmento de cadena encontrado por una expresión regular multioctets
  - mb_ereg_search_setpos — Selecciona el punto de partida para la búsqueda mediante expresión regular
  - mb_eregi — Expresión regular insensible a mayúsculas/minúsculas con soporte para caracteres multioctetos
  - mb_eregi_replace — Expresión regular con soporte para caracteres multibyte, sin distinción de mayúsculas y minúsculas
  - mb_get_info — Lee la configuración interna de la extensión mbstring
  - mb_http_input — Detecta el tipo de codificación de caracteres HTTP
  - mb_http_output — Lee/modifica la codificación de visualización
  - mb_internal_encoding — Lee/modifica la codificación interna
  - mb_language — Define/Recupera el lenguaje actual
  - mb_lcfirst — Convierte la primera letra de un string a minúscula
  - mb_list_encodings — Devuelve un array que contiene todos los encodings soportados
  - mb_ltrim — Elimina los espacios (u otros caracteres) del inicio de un string
  - mb_ord — Obtiene el punto de código Unicode de un carácter
  - mb_output_handler — Función de tratamiento de los despliegues
  - mb_parse_str — Analiza los datos HTTP GET/POST/COOKIE y asigna las variables globales
  - mb_preferred_mime_name — Detecta la codificación MIME
  - mb_regex_encoding — Define/Recupera la codificación de caracteres para las expresiones regulares multioctetos
  - mb_regex_set_options — Lee y modifica las opciones de las funciones de expresión regular con soporte para caracteres multibyte
  - mb_rtrim — Elimina los espacios (u otros caracteres) del final de un string
  - mb_scrub — Reemplaza las secuencias de bytes mal formadas por el carácter de sustitución.
  - mb_send_mail — Envía un correo electrónico codificado
  - mb_split — Divide una string en un array utilizando una expresión regular multibyte
  - mb_str_pad — Rellena una cadena multibyte hasta una cierta longitud con otra cadena multibyte
  - mb_str_split — Para una cadena multibyte dada, devuelve un array de sus caracteres
  - mb_strcut — Corta una parte de string
  - mb_strimwidth — Trunca una cadena
  - mb_stripos — Encuentra la primera ocurrencia de una cadena en otra, sin tener en cuenta la casilla
  - mb_stristr — Encuentra la primera ocurrencia de una cadena en otra, sin tener en cuenta la casilla
  - mb_strlen — Devuelve la longitud de una cadena
  - mb_strpos — Localiza la primera ocurrencia de un carácter en una cadena
  - mb_strrchr — Encuentra la última ocurrencia de un carácter de una cadena en otra
  - mb_strrichr — Encuentra la última ocurrencia de un carácter de una cadena en otra, sin distinción de mayúsculas y minúsculas
  - mb_strripos — Encuentra la posición de la última ocurrencia de una cadena en otra, sin tener en cuenta la casilla
  - mb_strrpos — Localiza la última ocurrencia de un carácter en una cadena
  - mb_strstr — Encuentra la primera ocurrencia de una cadena en otra
  - mb_strtolower — Convierte todos los caracteres a minúsculas
  - mb_strtoupper — Convierte todos los caracteres a mayúsculas
  - mb_strwidth — Devuelve el tamaño de una cadena
  - mb_substitute_character — Define/Recupera los caracteres de sustitución
  - mb_substr — Extrae una subcadena
  - mb_substr_count — Cuenta el número de ocurrencias de una subcadena
  - mb_trim — Elimina los espacios (u otros caracteres) del inicio y final de un string
  - mb_ucfirst — Convierte una string con la primera letra en mayúscula

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open