Déterminez la longueur d'une séquence d'octets UTF-8 en fonction de son premier octet. Le tableau suivant montre quelles plages correspondent à chaque longueur possible:
Range Length
--------- ------
0x00-0x7F 1
0xC2-0xDF 2
0xE0-0xEF 3
0xF0-0xF4 4
Remarques sur les lacunes dans le tableau: 0x80-0xBF sont des octets de continuation, 0xC0-0xC1 démarrerait une séquence trop longue et invalide, 0xF5-0xFF entraînerait un point de code au-delà du maximum Unicode.
Écrivez un programme ou une fonction qui prend en entrée le premier octet d'une séquence d'octets UTF-8 et renvoie ou renvoie la longueur de la séquence. Les E / S sont flexibles. Par exemple, l'entrée peut être un nombre, un caractère à 8 bits ou une chaîne à un caractère. Vous pouvez supposer que le premier octet fait partie d'une séquence valide et appartient à l'une des plages ci-dessus.
C'est le golf de code. La réponse la plus courte en octets l'emporte.
Cas de test
0x00 => 1
0x41 => 1
0x7F => 1
0xC2 => 2
0xDF => 2
0xE0 => 3
0xEF => 3
0xF0 => 4
0xF4 => 4