Windows PowerShell 中的 Base64 编码
Base64 编码是二进制到文本编码方法之一,它将二进制数据表示为更易读的字符串格式。
没有用于 Base64 转换的 Windows PowerShell 本机命令(从 PowerShell [Core] 7.1 开始)。因此,目前需要直接使用 .NET 库。本文将向你展示使用 Windows PowerShell 和 .NET 库与 Base64 相互转换的可能方法。
关于 Base 64
用技术术语来说,Base64 编码将三个 8 位字节转换为四个 6 位字节,由编号为 0-63 的位组成,因此名称为 Base64。此外,解码后的数据是原始字符串语法的 3/4。
虽然 Base64 编码方法可以对纯文本进行编码,但其真正的好处是将传输系统解释为控制字符的不可打印字符编码。
因此,你必须始终明确指定 Base64 字节应表示的字符编码。
与 Base64 相互转换
在转换为 Base64 时,你必须首先使用 Base64 字符串的用户期望的字符编码来获取你尝试编码的字符串的字节表示。
此外,在从 Base64 转换时,你必须使用我们用于创建 Base64 表示的相同编码将生成的字节数组解释为字符串。
以下示例将使用 .NET 库在 UTF-8 编码字符串格式之间进行转换:
转换为 Base64:
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes('Motorhead'))
输出:
TW90b3JoZWFk
从 Base64 转换:
[Text.Encoding]::ASCII.GetString([Convert]::FromBase64String('TW90b3JoZWFk'))
输出:
Motorhead
本文一直将 Base64 编码定义为一系列转换为 ASCII 字符串格式的字节。但是,使用 Windows PowerShell 和 .NET 库,我们可以直接转换为其他字符串格式,例如 Unicode 或 UTF-8。
要在 UTF-16LE(Unicode
)或 ASCII 之间进行转换,请将 [Text.Encoding]::Unicode
和 [Text.Encoding]::ASCII
替换为 [Text.Encoding]::UTF8
分别。
示例语法:
[Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
[Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。
在 PowerShell 中运行可执行文件
发布时间:2024/03/04 浏览次数:420 分类:编程语言
-
本文将演示从 Windows PowerShell 运行 .exe 文件的几种方法。本文还将演示如何静默运行可执行文件。