Salut JF,
Tiens, essaie cette modif, en principe, pour le texte en base64 suivant
"TW9uIHRleHRl", tu devrais avoir "Mon texte" comme résultat.
Pour plus d'informations, essaie de lire ce poste sur Stack overflow, il
parle de la base64 avec Python 3x :
http://stackoverflow.com/questions/8908287/base64-encoding-in-python-3
def decode_base64():
# s'applique à une sélection s'il y en a une, sinon au buffer entier
# getSelection est une fonction personnelle retournant le texte entre
selStart et selEnd.
import base64
edit = sp.window.curPage
if getSelection() == "":
# Il n'y a pas de sélection, on sélectionne donc tout le bufer.
edit.selectedText = edit.text
try:
# On vérifie si on est en base64.
s = base64.b64decode(getSelection()).decode("utf-8")
except UnicodeDecodeError:
# On est pas en base64, le texte n'est pas convertible.
sp.window.alert("Le texte à décoder n'est pas en base64", "Erreur")
return
# On efface la sélection actuelle.
edit.text = edit.text.replace(edit.selectedText, "")
# On inscrit le résultat de la conversion à la place.
edit.selectedText = s
sp.window.addAccelerator("CTRL+SHIFT+F12", decode_base64)
Bien amicalement,
Abdel.
----- Original Message -----
From: "Jean-François Colas" <[email protected]>
To: <[email protected]>
Sent: Thursday, March 24, 2016 9:09 PM
Subject: [progliste] 6pad++ et zone d'édition
Hello la ML,
Désolé, cet objet me plaît pas trop mais c'est pas une journée de grive
aujourd'hui...
Un truc qui m'échappe.
Je voulais doter 6Pad++ d'une fonction de décodage de données base64.
(Voir la fonction que je mets sous ma signature). Pour ça, je passe une
chaîne à base64.b64decode, j'obtiens en retour une chaîne. Je voudrais que
cette chaîne devienne partie intégrante de window.curPage.text, à la place
de ce que je décode. Et en définitive, je me retrouve avec une seule
ligne, sans retour chariot ni saut de ligne, mais des \r et \n
littéralement... Où se trouve le problème? Je dois faire fausse route
quelque part, quel autre chemin pourrais-je prendre?
Merci,
J.-F.
def decode_base64():
# s'applique à une sélection s'il y en a une, sinon au buffer entier
# getSelection est une fonction personnelle retournant le texte entre
selStart et selEnd.
import base64
edit = sp.window.curPage
if getSelection() == "":
edit.select(0, edit.textLength-1)
s = str(base64.b64decode(getSelection()))
edit.delete(edit.selectionStart, edit.selectionEnd)
edit.selectionEnd = edit.selectionStart # sais pas si c'est utile
edit.insert(edit.position, s)
Progliste :
Pour se dsinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pices jointe sont activs leur taille est limit 2
MO
Pour accder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv, je
vous rpondrez en priv.
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.