[R] StringReplace - Ascii

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
4sp4rt4m3
Niveau 3
Niveau 3
Messages : 46
Enregistré le : dim. 08 janv. 2012 20:55
Status : Hors ligne

[R] StringReplace - Ascii

#1

Message par 4sp4rt4m3 »

Salut à tous,


Voilà je m'explique, j'utilise la fonction "StringReplace" pour remplacer un caractère par un autre, en l'occurrence ici, une lettre par un caractère Ascii étendu. En autoit mon caractère est censé s'appeler "Chr(176)" et devrait s'afficher comme cela :

Code : Tout sélectionner

chr(176) = ░
 
Or il s'affiche comme cela :

Code : Tout sélectionner

°
 
En cherchant un peu je trouve deux sons de cloche sur le net, ici : By Tlem
Le caractère 176 est bien celui que je retrouve dans mon programme.

Alors qu'ici : http://www.asciitable.com/
Je retrouve le caractère ascii que je souhaite.
Les deux caractères ont le même code, y a t'il une manip' à faire pour obtenir le caractère souhaité?

Mon code :

Code : Tout sélectionner

$code = Chr(176)
StringReplace("mon fichier texte", "M", $code) ~Remplace tout les "M" par le caractère ascii "░"
 
Merci de vos aides :)
Modifié en dernier par 4sp4rt4m3 le lun. 06 août 2012 23:01, modifié 1 fois.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] StringReplace - Ascii

#2

Message par Iste »

chr() semble limité, mais en enregistrant votre code en utf-8 vous serez en mesure de faire des $var = "░" sans souci ! (Fichier -> encodage - > UTF-8)
Signez ici
Avatar du membre
4sp4rt4m3
Niveau 3
Niveau 3
Messages : 46
Enregistré le : dim. 08 janv. 2012 20:55
Status : Hors ligne

Re: [..] StringReplace - Ascii

#3

Message par 4sp4rt4m3 »

Merci de ta réponse Iste, imaginons que je veuille mettre le résultat dans un "edit", comment puis je dire à l'"edit" d'afficher le résultat en UTF-8?
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] StringReplace - Ascii

#4

Message par Iste »

A partir du moment ou vous travailler en UTF-8, ces caractères seront "normaux"

voir : http://autoitscript.fr/forum/viewtopic.php?f=11&t=5523
Signez ici
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] StringReplace - Ascii

#5

Message par timmalos »

le code ascii etendu depend du système d'explitation et de la langue utilisée. Le tableau de Tlem, également utilisé par votre ordinateur correspond au codage "iso-latin-1" ou également "iso-8859-1", pour l'Europe de l'Ouest. Celui de votre site internet correspond au codage utf8.

En conclusion, Il vous suffit d'utiliser l'utf8 et vos caractères deviendront 'normaux'.
N'hesitez pas à lire la page wikipedia qui vous apportera plus d'informations : http://en.wikipedia.org/wiki/Extended_ASCII


Edit : grillé :mrgreen:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] StringReplace - Ascii

#6

Message par mikell »

4sp4rt4m3 a écrit : imaginons que je veuille mettre le résultat dans un "edit"
Perso j'avais résolu ce genre de problème comme ça
Pas classe du tout mais efficace, si le caractère n'existe pas dans ma police défaut (tahoma)

Code : Tout sélectionner

GuiCreate("", 200, 100)
$label = GuiCtrlCreateLabel("", 10,10,50,50)
GUICtrlSetFont(-1, 24, 400, 0, "Arial Unicode MS")   ; (ou "Courier New" comme sur ce site)
GuisetState()
GuiCtrlSetData($label, ChrW(9617) )
while GuiGetMsg() <> -3
wend
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] StringReplace - Ascii

#7

Message par Tlem »

Pour information, ce tableau ne provient pas de moi, mais de la traduction de la documentation US de AutoIt ...
http://www.autoitscript.com/autoit3/doc ... /ascii.htm

De plus en effectuant quelques recherches complémentaires, vous seriez tombé sur : http://www.table-ascii.com/
Bien plus complet que votre lien ...
Regardez dans la section : Jeu de caractères ASCII - ISO 8859-1 ( Latin - 1 ) - Ouest / Europe de l'ouest

:mrgreen:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
4sp4rt4m3
Niveau 3
Niveau 3
Messages : 46
Enregistré le : dim. 08 janv. 2012 20:55
Status : Hors ligne

Re: [..] StringReplace - Ascii

#8

Message par 4sp4rt4m3 »

Merci pour vos aides :D , problème résolu :wink:
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] StringReplace - Ascii

#9

Message par jchd »

Pour future référence, l'encodage qu'emploie AutoIt est UTF-16. Du moins en première approximation car c'est plus exactement l'intersection d'UTF-16 et d'UCS-2 mais la nuance ne concerne que les applications très spéciales.

Dans une chaîne AutoIt, un caractère utilise un demi-mot de 16 bits et représente donc un caractère du plan 0 d'Unicode.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre