base64 - 使用Powershell解码base64

标签 base64 powershell-3.0

我正在尝试从base64解码电子邮件文件中的附件并将其保存到磁盘。

出于测试目的,这是我的代码。其中input.txt仅包含base64编码的数据,它是一个HTML文件。

$file = "C:\input.txt"
$data = Get-Content $file
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($data)) > out.html


解码工作正常,它会生成一个包含所有行的新文件,并且在外观上与原始附件相同。问题在于输出文件的大小是该文件的两倍(实际上是(文件大小* 2)+6字节,在这种情况下)。

我解码不正确吗?我也尝试过UTF8而不是ASCII ...相同的结果。

最佳答案

好吧,我知道了。谁知道默认情况下Out-File会重新编码为Unicode?通过执行以下操作解决:

$file = "C:\input.txt"
$data = Get-Content $file
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($data)) | Out-File -Encoding "ASCII" out.html

关于base64 - 使用Powershell解码base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726418/

相关文章:

powershell - 使用 PowerShell 和 OData API 将文件上传到 SharePoint 2010

php - laravel rest api 上传文件到服务器

powershell - 为什么 powershell 不保留 native 类型?

mysql - 使用 PowerShell 3 连接到 MySQL 数据库

PowerShell:命令 "Get-ChildItem IIS:\Sites"导致错误

powershell - 仅从 int 值中删除 csv 文件中的前导零

javascript - & 到 base64 + Javascript 中的 &

angular - 如何在 Angular 7 中显示 base64 图像?

java - 将大字符串数组(base64 图像)发送到休息服务给出错误(使用 tomcat7)

javascript - 将字节输入流转换为 base64 XPages 脚本 block