gpt4 book ai didi

powershell - 如何解码 Base64 字符串?

转载 作者:行者123 更新时间:2023-12-03 06:05:32 52 4
gpt4 key购买 nike

我在 Powershell 中有一个普通字符串,它来自包含 Base64 文本的文本文件;它存储在$x中。我正在尝试这样解码它:

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

如果 $x 是在 Powershell 中创建的 Base64 字符串,则此方法有效(但事实并非如此)。这不适用于来自文件的 $x Base64 字符串,$z 只是最终变成类似 䐲券

我错过了什么?例如,$x 可以是 YmxhaGJsYWg=,它是 blahblah 的 Base64。

简而言之,YmxhaGJsYWg= 位于一个文本文件中,然后放入此 Powershell 代码中的字符串中,我尝试对其进行解码,但最终得到 䐲券 等.

最佳答案

编码不是将文本转为base64,而解码不是将base64转回文本吗?你似乎把它们搞混了。当我使用this online decoder解码时我得到:

BASE64: blahblah
UTF8: nVnV

不是相反。但我无法在 PS 中完全重现它。请参阅下面的示例:

PS > [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("blahblah"))
nV�nV�

PS > [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("nVnV"))
blZuVg==

编辑我相信您对文本使用了错误的编码器。编码的base64字符串是从UTF8(或ASCII)字符串编码的。

PS > [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
blahblah

PS > [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
汢桡汢桡

PS > [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
blahblah

关于powershell - 如何解码 Base64 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15414678/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com