Salut à tous

Je me pose une question concernant l'encodage des caractères. Bon en y repensant c'est pas spécifique à Java mais la question m'est venu dans un projet Java avec servlets. Dans un formulaire en html obtenu à partir d'une page JSP, imaginons qu'on doit remplir un champ. La lettre 'A' représente le nombre 65 dans la table ASCII. Du coup si on tape 65 comme valeur de champ, comment peut on savoir s'il s'agit du caractère 'A' ou du vrai nombre 65 puisque les 2 sont équivalents ? Qui s'occupe de cette conversion : Java et son encodage (Unicode), la page html avec <meta charset="ut8"/> ou bien le processeur de la machine lui même ?

De ce que j'ai compris c'est le processeur qui au final exécute les instructions en binaire or ces instructions comprennent un code opération (add, load, store etc) et une opérande (une donnée). Or cette donnée est codée en binaire. Si le processeur recoit la donnée 65 codée en binaire, comment sait il si c'est la valeur 65 ou la lettre 'A' codée en ASCII ?

Merci