2016-05-11 1 views
1

Je suis toujours confus au sujet des bits et des octets, bien que j'ai cherché sur Internet. Est-ce un caractère de ASCII = 1 octets = 8 bits? Donc 8 bits ont 256 motifs uniques qui couvrent tout le code ASCII, quelle forme est-il stocké dans notre ordinateur?bits et octets et quelle forme sont-ils

Et si j'ai tapé "Bonjour" cela signifie-t-il que cela consiste en 5 octets?

Répondre

0

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.

+0

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

+0

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. –

+0

okay Merci! Je vais le lire lentement et à plusieurs reprises. – Newbie

1

Oui à tout ce que vous avez écrit. "Bit" est un chiffre binaire: un 0 ou un 1. Historiquement il existait des octets de plus petites tailles; maintenant "octet" signifie seulement "8 bits d'information", ou un nombre entre 0 et 255.

+0

qu'en est-il de la forme des bits stockés dans notre ordinateur? Combien de stockage cela prend-il? – Newbie

+0

Un bit d'information occupe un bit de stockage. Je ne sais pas comment répondre à cela. En RAM, un bit est un condensateur qui peut être plein ou pas. Dans les disques durs, c'est un petit aimant dont l'orientation Nord/Sud est modifiée. Dans les CD, c'est une petite brûlure à la surface, ou l'absence de celle-ci. – Amadan

+0

Merci pour l'explication, même si je suis confus par l'autre explication ci-dessous. Passez une bonne journée aujourd'hui! :) – Newbie