Question:
Besoin d'aide avec les caractères spéciaux...?
anonymous
2009-03-31 02:35:17 UTC
Bonjour !! ^^

J'aimerais savoir si quelqu'un pourrait m'expliquer quelque chose concernant les caractères spéciaux (d'où le titre, je sais je me répète xD). En fait, quand je vais dans la table des caractères, il y a des tonnes de caractères avec un code noté U+00C6 par exemple avec une transcription équivalente Alt+0198 (par exemple encore) mais le truc c'est que certains ne sont pas transcris avec l'équivalent Alt+...
Je me demande en fait si par exemple le code Alt+0198 est le calcul par le système binaire du code U+00C6 (j'avais vu ça en cours ^^', comme quoi chaque lettre est codée) mais ce que je ne comprend pas, c'est ce que représente le C en terme de valeur.
Pour tout dire, j'aimerais calculer l'équivalence en code Alt+... des codes U+... pour avoir un raccourci clavier de certains caractères.
Je suis désolé si je m'exprime mal mais je ne suis pas du tout un as de l'informatique.
Merci quand même d'avoir lu ma requête =)
Six réponses:
Tutor
2009-03-31 02:55:50 UTC
La notation U+00C6 est une notation unicode

http://creer-un-site-web.toutestfacile.com/programmer_un_site_web/internationalisation_et_localisation_1.php5

Ce qui suit le U+ c'est une notation héxadécimale sur 2 octets (00 et C6).

La notation Alt+0198 est une notation décimale.

La différence majeure entre la notation décimale et la notation héxadécimale c'est qu'en décimal les chiffres vont de 0 à 9 et en héxadécimal de 0 à 9 et de A à F. A est alors l'équivalent du 10 décimal, B pour 11... et F pour 15.

Pour convertir une valeur héxadécimale en décimal on prend le "chiffre" le plus à droite auquel on additionne le 2ème "chiffre" en partant de la droite*16 + le 3ème*16*16... etc.

donc C6 = 6+12*16=198.

Voilà pour l'explication des valeurs.

En revanche, pour les caractères unicodes U+ dont tu n'as pas d'équivalent en Alt+ c'est sans doute parce qu'il n'y a pas d'équivalent (c'est un problème de choix du type d'encodage. L'encodage Alt+XXXX est probablement limité à 255 caractères alors que l'encodage unicode possède bien plus de caractères. Cf. lien précédent). C'est sans doute pour des caractères qui commencent par autre chose que 00 (U+00) que tu n'as pas d'équivalent.



Suite à ton complément d'information.

Eh oui, c'est bien ça le problème il n'y a pas d'équivalent ALT+ de U+0153 car 0153 (1*16*16+5*16+3=339) est supérieur à 255. Il faut donc dans ce cas, utiliser un autre moyen de "saisir" le caractère.

C'est un peu comme si tu utilisais un téléphone qui compose automatiquement le 06 devant tes n° de tél. Ce serait pratique car il n'y aurait que 8 chiffres à saisir pour appeler un portable mais ça ne te permettrait pas d'appeler un poste fixe.
Che_Miseria
2009-03-31 03:30:55 UTC
C'est peut-être trop compliqué pour toi quand on parle de Code Unicode ou code ASCII. Je vais te donner un truc très simple dans MS Word, vas dans le menu insert (insérer) (je travaille en anglais mais je pense que tu te retrouves)- symbols (caractères spéciaux). Tu as alors la boîte de dialogue des caractères spéciaux. Quand tu clique sur un caractère ex : Æ, tu as quelque part (en dessous des caractères récemment utilisés) où c'est écrit character code : 00C6 from Unicode (hex). En dessous de ça tu as : Shortcut key : Alt+0198.

Avec ça, on est capable de savoir le code ASCII et le Code Unicode d'un caractère donné ou l'inverse. Si tu veux savoir ce que représente le code Unicode 00E8 par exemple, il suffit de le taper dans la case du code Unicode et dans les caractères spéciaux en haut, le caractère è va directement être sélectionné. Son code ASCII (décimal) sera 232 et il suffira de taper Alt+0232 pour le faire apparaître !

Je ne suis pas sur que je me suis bien expliqué! Pardon
Gastonsec
2009-03-31 03:08:51 UTC
C6 est un code à 16 chiffres (hexadécimal)

Les chiffres de zéro à neuf représentent leur valeur.

Le chiffre A représente la valeur dix.

le chiffre B représente la valeur onze

le chiffre C représente la valeur douze

Le chiffre D représente la valeur treize

Le chiffre E représente la valeur quatorze

Le chiffre F représente la valeur quinze.



À partir du chiffre le plus à droite, chaque chiffre représente une valeur seize fois plus forte que celui qui est situé immédiatement à sa droite.



Par exemple, pour le nombre C6 : le chiffre 6 représente la valeur 6, le chiffre C représente la valeur 12, qu'il faut multiplier par seize car c'est le deuxième chiffre en partant de la droite.

C6 vaut donc 16*12 + 6 = 198.



Le système avec alt exige qu'on mette un zéro devant, sinon un autre agencement des caractères est utilisé.

Le caractère C6 doit être introduit en tapant alt+0198.

Le système avec alt ne permet pas d'introduire de caractère dont le code soit supérieur à 255 (U+00FF)
gary 
2009-03-31 03:03:08 UTC
Combinaisons de touche avec Alt ;

http://www.starr.net/is/type/altnum-fr.html
Beramla T
2009-03-31 02:46:17 UTC
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

//Shift + F2

if (Key = VK_F2) and (ssShift in Shift) then

with DbGrid1, DataSource, DataSet do

if TField(SelectedField).Datatype in [ftString, ftWideString] then

DbGrid1.Perform(WM_CHAR, Ord('['), 0);

end;





A+++
passbackfull
2009-03-31 02:41:10 UTC
C'est un code héxadécimal donc

0123456789ABCDEF


Ce contenu a été initialement publié sur Y! Answers, un site Web de questions-réponses qui a fermé ses portes en 2021.
Loading...