You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PowerShell高效Base64转换脚本使用求助

怎么用这段PowerShell脚本实现二进制与Base64互转

嘿,刚接触PowerShell的话,这段脚本其实已经把核心的互转逻辑封装好了,只是需要知道怎么正确调用它就行!我来一步步给你讲清楚操作步骤:

第一步:先把脚本加载到PowerShell环境里

你需要先让PowerShell识别这三个函数,有两种简单的方式:

  • 直接把整个脚本复制粘贴到PowerShell控制台里,按回车执行,这样函数就会被加载到当前会话中;
  • 把脚本保存成一个.ps1文件(比如命名为Base64Converter.ps1),然后在PowerShell里执行这个命令加载它:
    . .\Base64Converter.ps1
    
    注意第一个点是“点源”操作,用来加载脚本里的函数,第二个点代表当前目录,要是脚本在别的路径,换成对应的绝对路径就行。

二进制文件转Base64文本(使用ConvertTo-Base64)

这个函数的作用是把任意二进制文件(比如图片、压缩包、exe文件)转换成Base64编码的文本文件。它需要两个参数:

  • SourceFilePath:你要转换的原始二进制文件的路径(可以是相对路径,也可以是绝对路径);
  • TargetFilePath:转换后生成的Base64文本文件的保存路径。

举个例子:

比如我要把D盘根目录下的test.jpg转换成Base64文本,保存到桌面的test_base64.txt,就执行这条命令:

ConvertTo-Base64 -SourceFilePath "D:\test.jpg" -TargetFilePath "C:\Users\你的用户名\Desktop\test_base64.txt"

如果文件路径里有空格,一定要用双引号把路径包起来,比如:

ConvertTo-Base64 -SourceFilePath "D:\我的图片\holiday.jpg" -TargetFilePath "C:\Users\你的用户名\Desktop\假期图片_base64.txt"

Base64文本转二进制文件(使用ConvertFrom-Base64)

这个函数是上面操作的逆过程,把Base64编码的文本文件还原成原始的二进制文件。参数和上面对应:

  • SourceFilePath:你要转换的Base64文本文件的路径;
  • TargetFilePath:还原后生成的二进制文件的保存路径。

举个例子:

把刚才生成的test_base64.txt转回图片,保存到桌面的test_copy.jpg

ConvertFrom-Base64 -SourceFilePath "C:\Users\你的用户名\Desktop\test_base64.txt" -TargetFilePath "C:\Users\你的用户名\Desktop\test_copy.jpg"

一些小提示

  • 脚本里的Resolve-PathSafe函数是帮你处理路径的,不管你输入的是相对路径(比如.\test.jpg)还是绝对路径,它都会转换成PowerShell能正确识别的完整路径,不用自己手动处理路径格式;
  • 脚本里的bufferSize设置成9000是有原因的:转Base64时,每3个字节会转换成4个Base64字符,所以缓冲区大小要是3的倍数;转回来时需要处理4个字符一组的Base64编码,所以缓冲区要是4的倍数,9000刚好同时满足这两个要求,能保证转换效率和正确性;
  • 注意:如果目标文件已经存在,脚本会直接覆盖它,所以转换前最好先备份好目标路径下的文件哦!

内容的提问来源于stack exchange,提问作者user2020

火山引擎 最新活动