Vous ne voyez pas de réponse simple, car il n'existe pas.
Tout d'abord, Unicode ne contient pas "tous les caractères de toutes les langues", même si c'est sûr qu'il ne essayer.
Unicode est une cartographie, il définit codepoints et un codepoint est un nombre, associé généralement à un personnage. Je dis généralement car il y a des concepts comme la combinaison de caractères. Vous connaissez peut-être des choses comme les accents et les trémas. Ceux-ci peuvent être utilisées avec un autre caractère, comme l'un ou d'un u pour créer une nouvelle logique de caractère. Un personnage ne peut donc être composé de 1 ou plusieurs codepoints.
Pour être utile dans les systèmes informatiques, nous devons choisir une représentation de cette information. Ceux sont les différents encodages unicode, utf-8, utf-16le, utf-32 etc. Ils se distinguent principalement par la taille de leur codeunits. UTF-32 est le plus simple de l'encodage, il a un codeunit qui est 32bits, ce qui signifie une personne codepoint s'adapte confortablement dans un codeunit. Les autres codages aura des situations où un codepoint aura besoin de plusieurs codeunits, ou que particulier codepoint ne peuvent pas être représentés dans le codage (c'est un problème par exemple avec UCS-2).
En raison de la souplesse de la combinaison de caractères, même au sein d'un codage donnée le nombre d'octets par caractère peut varier en fonction du caractère et de la normalisation de la forme, qui est un protocole pour traiter avec des personnages qui ont plus d'une représentation (vous pouvez dire "avec un accent" qui est de 2 codepoints, dont l'un est une combinaison de char ou "accentués" qui est un codepoint).