[R] Gestion des caractères Autoit
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Gestion des caractères Autoit
Bonjour à tous,
J'ai créé un petit algorithme de chiffrement avec clé, il fonctionne bien, de ce côté là, il n'y a pas de problèmes. Quand j'ai créé une interface permettant de l'utiliser, je me suis rendu compte qu'un retour à la ligne comptait comme un caractère. Je n'ai donc pas compris, Autoit considère que "A" = "a" mais il prend en compte les caractères ASCII de type NULL, CR, LF, etc ... ?
Dans mon algorithme de chiffrement, je répertorie tous les caractères sauf ceux de mise en page (CRLF, ...). J'aimerais que lorsque l'utilisateur envoie le formulaire, les caractères de mise en page ne soient pas pris en compte, comment faire ?
J'ai créé un petit algorithme de chiffrement avec clé, il fonctionne bien, de ce côté là, il n'y a pas de problèmes. Quand j'ai créé une interface permettant de l'utiliser, je me suis rendu compte qu'un retour à la ligne comptait comme un caractère. Je n'ai donc pas compris, Autoit considère que "A" = "a" mais il prend en compte les caractères ASCII de type NULL, CR, LF, etc ... ?
Dans mon algorithme de chiffrement, je répertorie tous les caractères sauf ceux de mise en page (CRLF, ...). J'aimerais que lorsque l'utilisateur envoie le formulaire, les caractères de mise en page ne soient pas pris en compte, comment faire ?
Modifié en dernier par TiDi le mar. 11 août 2015 18:06, modifié 1 fois.
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Gestion des caractères Autoit
Bonjour,
utiliser StringSplit est un bon moyen de récupérer seulement les caractères par simples tours de boucles en vérifiant que le caractères que tu souhaites récupérer n'est pas un retour à la ligne. Il suffit de l'appeler sans délimiteur.
utiliser StringSplit est un bon moyen de récupérer seulement les caractères par simples tours de boucles en vérifiant que le caractères que tu souhaites récupérer n'est pas un retour à la ligne. Il suffit de l'appeler sans délimiteur.
Étudiant en 2ème année de Licence Informatique.
- TommyDDR
- Modérateur

- Messages : 2125
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Gestion des caractères Autoit
= Tests if two values are equal. e.g. If $var = 5 Then (true if $vVar equals 5). Case insensitive when used with strings.TiDi a écrit :Autoit considère que "A" = "a"
== Tests if two strings are equal. Case sensitive. The left and right values are converted to strings if they are not strings already. This operator should only be used if string comparisons need to be case sensitive.
Si vous faites if("A" = "a"), ça sera vrai, si vous faites if("A" == "a") ça sera faux.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: [..] Gestion des caractères Autoit
@blacksoul65 : Oui d'accord, mais comment faire pour définir les caractères de mise en page ? Par exemple :
Les caractères de mise en page se définisse avec le binaire, l'hexadecimal, mais comment faire pour qu'Autoit puisse les lire ?
@TommyDDR : Merci, je savais pas
Code : Tout sélectionner
Local $aContenu = StringSplit($sContenu, "")
For $i = 0 To $aContenu[0]
If $aContenu[$i] == "CR" Or $aContenu[$i] == "LF" Or $aContenu[$i] == "NUL" Then ; etc ...
_ArrayDelete($aContenu, $i)
EndIf
Next@TommyDDR : Merci, je savais pas
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Gestion des caractères Autoit
Code : Tout sélectionner
Asc(@CR) renvoie 13
Asc(@CRLF) renvoie 13
Asc(@LF) renvoie 10Code : Tout sélectionner
If ( (Asc($sTemp[$i]) == 13) Or (Asc($sTemp[$i]) == 10) )Then...Étudiant en 2ème année de Licence Informatique.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Gestion des caractères Autoit
Et pourquoi pas un regex ? c'est souple et efficace, et ça permet de prendre en compte les éventuels Vertical tab, Form Feed etc
Code : Tout sélectionner
#Include <Array.au3>
$sContenu = "ab" & @cr & "cd" & @crlf & "ef" & @lf & "gh"
Local $aContenu = StringRegExp($sContenu, '\V', 3)
_ArrayDisplay($aContenu)" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Gestion des caractères Autoit
Merci de votre aide, les deux solutions marchent mais je vais opter pour StringRegExp, plus complète 
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Gestion des caractères Autoit
Évidemment, puissance et fiabilité des RegEx de mikell est inégalable ! Haha !
N'oublie pas de passer le sujet en résolu.
N'oublie pas de passer le sujet en résolu.
Étudiant en 2ème année de Licence Informatique.

