J'essaye d'écrire une personnalisation dans Lyris ListManager (10.2). La langue est TCL, que je connais très peu. Nous avons besoin de coder une valeur comme base64 (ou vraiment, tout ce qui obscurcit un paramètre querystring), mais je n'arrive pas à comprendre comment. Y at-il une commande native à TCL pour faire cela?Valeur de codage en tant que base64
Répondre
Après votre problème à utiliser le package base64 vous pouvez utiliser ces petits procs à convertissez vos données en hexadécimal et en arrière. Nécessite Tcl> 8
proc BIN2HEX { text } { binary scan $text H* result; return $result }
proc HEX2BIN { hex } { return [binary format H* $hex] }
set hex [BIN2HEX $yourText]
set textAgain [HEX2BIN $hex]
Si vous avez vraiment besoin base64, vous pouvez simplement copier/coller l'intégralité du fichier base64 de la distribution de tcllib http://sourceforge.net/projects/tcllib/files/tcllib/1.11.1/ dans votre code (supprimer la ligne « paquet fournit »)
L'existence de http://tcllib.sourceforge.net/doc/base64.html semble indiquer qu'il n'y a pas de fonctions natives. Vous pouvez copier la source et l'ajouter à vos modifications.
% base64::encode "Hello, world"
SGVsbG8sIHdvcmxk
% base64::encode [string repeat xyz 20]
eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6
eHl6eHl6eHl6
% base64::encode -wrapchar "" [string repeat xyz 20]
eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6
# NOTE: base64 encodes BINARY strings.
% set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"]
% set encoded [base64::encode $chemical]
Q+KCiEjigoHigoBO4oKET+KCgg==
% set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]]
Donc, si je copie le fichier base64.tcl dans ce dossier, est-il un moyen de l'importer afin que je puisse faire l'appel? – CaffGeek
Vous pouvez exécuter la commande "source base64.tcl" pour charger le fichier dans l'espace de noms actuel. –
lorsque j'essaie d'utiliser la source base64.tcl, j'obtiens le suivant * nom de commande invalide "source" lors de l'exécution "source" base64.tcl "" * – CaffGeek
Si vous avez la possibilité de charger des bibliothèques Tcl (packages/modules) dans votre environnement, vous pouvez simplement utiliser la mise en œuvre Tcllib. C'est ce que Vinko Vrsalovic a montré dans sa réponse.
% package require base64
2.4
% base64::encode bob
Ym9i
Si ce serait assez bon pour simplement encoder en hexadécimal, vous pouvez utiliser la commande binary comme suit:
% set query "Hello, world"
Hello, world
% binary scan $query H* hexquery
1
% puts $hexquery
48656c6c6f2c20776f726c64
- 1. favicon de codage en base64
- 2. C# en Ruby codage sha1 base64
- 3. Codage MD5 Hash et Base64
- 4. Mauvais codage Base64 utilisant libssl
- 5. Le codage décodeur django base64 renvoie une valeur différente
- 6. MSXML. Obtenir des données en tant que Base64
- 7. Codage base64 en Java et décodage en C#
- 8. Codage d'un fichier image avec base64
- 9. Enregistrement d'une chaîne Base64 sur un disque en tant que binaire en utilisant PHP
- 10. Enregistrer une chaîne base64 sur le disque en tant que binaire en utilisant Delphi 2007
- 11. Algorithme de codage Java base64 pour correspondre à l'implémentation d'openssl
- 12. Comment coder/décoder des chaînes courtes en tant que Base64 à l'aide de GWT?
- 13. méthode de classe en tant que valeur de hachage
- 14. Raccourcir la valeur de l'URL en tant que variable Javascript
- 15. Entité 4.0 Valeur de diffusion en tant que DateTime
- 16. Valeur mémorisable de 32 bits en tant que constante
- 17. Comment stocker une valeur de cookie en tant que chaîne?
- 18. Javascript Base64 codage UTF8 chaîne échoue dans webkit/safari
- 19. Est-ce que cette chaîne est Base64? Comment puis-je savoir quel est le codage utilisé?
- 20. Codage: Utilisation de Struct en tant que DataUtility/Library pour les valeurs de code fixe (Constantes)
- 21. .NET en tant que client, Java en tant que serveur
- 22. Comment définir une propriété personnalisée en tant que valeur XAML?
- 23. Renvoie la valeur du tableau en tant que NSString
- 24. XSLT - Valeur XML en tant que classe CSS
- 25. C++: Imprimez valeur ENUM en tant que texte
- 26. Envoyer un tableau JavaScript en tant que valeur JSON?
- 27. Comment convertir une valeur entière en valeur binaire en tant que chaîne en C#?
- 28. JSON en tant que protocole de codage dans une grande application distribuée
- 29. Définir le codage du projet Eclipse en tant que UTF-8 à partir de Maven
- 30. jQuery: Utilisation de la valeur de fonction normale en tant que valeur jquery
Alors que les autres réponses sont toutes bonnes, cela a fonctionné parfaitement. Je devais simplement copier/coller ces méthodes, les appeler et j'avais fini. Merci ... Je souhaite que le support de Lyris soit aussi bon que Stack Overflow – CaffGeek