84 votes

Comment décoder une chaîne Base64 ?

J'ai une chaîne normale dans Powershell qui provient d'un fichier texte contenant du texte Base64 ; elle est stockée dans $x . J'essaie de le décoder comme tel :

$z = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($x));

Cela fonctionne si $x était une chaîne Base64 créée dans Powershell (mais ce n'est pas le cas). Et cela ne fonctionne pas sur le $x Chaîne de caractères Base64 provenant d'un fichier, $z aboutit simplement à quelque chose comme .

Qu'est-ce qui me manque ? Par exemple, $x pourrait être YmxhaGJsYWg= qui est Base64 pour blahblah .

En bref, YmxhaGJsYWg= est dans un fichier texte, puis mis dans une chaîne dans ce code Powershell et j'essaie de le décoder, mais je me retrouve avec etc.

1voto

yzorg Points 1139

Il ne s'agit toujours pas d'un produit "intégré", mais d'un produit publié dans la galerie, dont l'auteur est l'EM :

https://github.com/powershell/textutility

TextUtility

  • ConvertFrom-Base64
    Retourne une chaîne de caractères décodée en base64.
  • ConvertTo-Base64
    Retourne une représentation encodée en base64 d'une chaîne de caractères.

1voto

andrew.fox Points 320

Si quelqu'un souhaite le faire avec un tuyau dans Powershell (comme un filtre) (par exemple, lire le contenu d'un fichier et le décoder), il est possible de le faire avec une ligne de commande comme celle-ci :

Get-Content base64.txt | %{[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_))}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X