Cita:
Iniciado por ToFuS
No entiendo muy bien lo que quieres decir con eso...
¿Te refieres a decodificar directamente y luego ver si la cadena a cambiado o algo parecido?
No ...
Me refiero a .. que una cadena puede complir un patrón (por muy complicado que sea este) .. algo tipo:
989asdf89adsf98df
Esa cadena (por decir algo .. ) compliría el patrón de "tantos caracteres de largo fijo" .. que se compone de números y/o letras (de la A a la Z) ..
Las "codificaciones" que mencionas en su base cumplen cierto algorítmo .. pero a su vez como resultado final generan cierto patrón que podría identificar su formato (no exacto pero bastante aproximado).
Un ejemplo real:
Código PHP:
<?php
function detectUTF8($string)
{
return preg_match('%(?:
[\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
|\xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
|\xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
|\xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
|[\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
|\xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)+%xs', $string);
}
?>
Ahí se identifica si tu cadena podría ser codificada como UT8 .. se aplicar el "patrón" y se vé si se cumple ..
Un saludo,