Powershell base64编码不同的结果

时间:2019-05-17 07:39:37

标签: powershell base64

下面是两个用于对证书进行base64编码的相同目的的命令。

从Windows命令行

powershell "[convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(\"ATSxxx0101:urSY13sm\"))"

结果 QVRTVFNHMDEwMTp1clNZMTNzbQ==

来自powershell:

[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('ATSxxx0101:urSY13sm'))

结果: QQBUAFMAVABTAEcAMAAxADAAMQA6AHUAcgBTAFkAMQAzAHMAbQA=

Windows命令行的

结果正常,但是结果powershell错误。但是我的工具只能接受powershell命令。直接Windows命令不起作用。有创意专家吗?

1 个答案:

答案 0 :(得分:0)

原因是[Text.Encoding]::UTF8[System.Text.Encoding]::Unicode不同。区别不是缺少System,而是UTF / Unicode。

Encoding.Unicode gets an encoding(使用小尾数字节顺序的UTF-16格式。)

Encoding.UTF8 gets an encoding(用于UTF-8格式)。