N ° ASCII est un jeu de caractères avec 128 points de code stockés comme valeurs 0-127. Les ordinateurs modernes s'adressent principalement aux emplacements de mémoire et de disque 8 bits, de sorte qu'une valeur ASCII de 7 bits occupe 8 bits.
Il n'y a pas de texte mais un texte codé. Un encodage mappe un membre d'un jeu de caractères sur un ou plusieurs octets. Sauf si vous savez absolument que vous utilisez ASCII, vous ne l'avez probablement pas. Il existe un certain nombre de jeux de caractères avec des codages qui couvrent toutes les valeurs de 256 octets et utilisent n'importe quelle combinaison de valeurs d'octets pour coder une chaîne. Plusieurs jeux de caractères sont similaires mais comportent moins de 256 caractères. Et d'autres qui utilisent plus d'un octet pour coder un code et n'utilisent pas toutes les combinaisons de valeurs d'octets.
Juste pour que vous sachiez, Unicode est le jeu de caractères prédominant, sauf dans des situations très spécialisées. Il a plusieurs encodages. UTF-8 est souvent utilisé pour le stockage et les flux. UTF-16 est souvent utilisé en mémoire, notamment en Java, .NET, JavaScript, XML, .... Lorsque le texte est communiqué entre les systèmes, il doit y avoir un accord, une spécification, une norme ou une indication sur le jeu de caractères et l'encodage utilisés pour qu'une séquence d'octets puisse être interprétée comme un caractère. Pour ajouter à la confusion, les langages de programmation ont des types de données appelés char
, Character
, etc. Vous devez consulter le manuel de référence du langage spécifique pour voir ce qu'ils signifient. Par exemple, dans C, char
est simplement un entier qui est défini comme la taille du codage de caractère utilisé par cette implémentation C. (C appelle aussi cela un "octet" et ce n'est pas forcément 8 bits.) Dans tous les autres contextes, les gens signifient 8 bits quand ils disent "octet", s'ils veulent être très non ambigus ils peuvent dire "octet".)
"Bonjour" a cinq caractères. Dans un jeu de caractères spécifique, il s'agit de cinq points de code. Dans un codage spécifique pour ce jeu de caractères, il pourrait être 5, 10 ou 20, ou ??? octets.
De même, dans le code source d'un langage spécifique, une chaîne littérale comme celle-ci peut être "terminée par un caractère nul". Cela signifie que vous pourriez dire que c'est 6 "caractères". D'autres langues peuvent stocker une chaîne en tant que séquence comptée d'unités de code. Encore une fois, vous devez regarder la référence de langage pour connaître la structure de données sous-jacente des chaînes. De, si la langue et les bibliothèques utilisées avec lui sont suffisamment de haut niveau, vous pourriez ne jamais avoir besoin de connaître de tels internes.
hmm, merci beaucoup.Même si j'ai essayé de lire encore et encore, mais d'une manière ou d'une autre n'a pas pu comprendre tous. Donc le codepoint est une chose totalement différente de ASCII? J'ai vu que c'est pour unicode, comme 'a' pour codepoint est 0061 mais en ASCII est 65. Et est 'codant' un nom ou un verbe, j'ai appris que cela signifie convertir quelque chose dans un formulaire à un autre formulaire sur Google. Le reste est ok pour moi. Merci! – Newbie
Prenez juste un "peu" à la fois. Mon message de base est que les termes ont des significations très spécifiques et que les gens font des erreurs en en lisant trop. Si vous avez une question précise, je serais heureux de clarifier ma réponse. –
okay Merci! Je vais le lire lentement et à plusieurs reprises. – Newbie