Una cadena tiene una longitud determinada en bytes. El número de caracteres en esa cadena será igual al número de bytes si y solo si cada carácter en la cadena está representado por un solo byte. Esto es cierto, por ejemplo, para las letras en inglés. Para representaciones (es decir, codificaciones) que usan más de un byte para representar algunos o todos los caracteres, el número de caracteres será menor que el número de bytes *. No es posible, por ejemplo, representar todos los caracteres chinos posibles con un byte.
Por lo tanto, iconv_strlen, dada una codificación, intentará contar el número de caracteres en la cadena. La secuencia de bytes es el orden de los bytes en la cadena. Para una cadena que contenga chino, usando la codificación UTF8, podría, por ejemplo, tener una cadena de 20 bytes que tenga 14 caracteres.
* Podría ser más, si un personaje está representado por menos de un byte.
cuenta los caracteres, no los bytes. donde en cuanto a ascii, el byte y el recuento de caracteres serían idénticos. Pero lea el artículo a continuación, vale la pena. –