我以为Unknown选项用于二进制文件连接。
http://technet.microsoft.com/en-us/library/dd315299.aspx
未知编码类型未知 或无效。数据可以视为 二进制的。
但是{Get-Content binary.dat -Encoding Unknown}
不返回字节数组而是字符串数组。
PS > $a = Get-Content $PSHOME\WTRInstaller.ico -Encoding Unknown
PS > $b = Get-Content $PSHOME\WTRInstaller.ico -Encoding Byte
PS > $a[0].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
PS > $b[0].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Byte System.ValueType
即使我将$ a转换为字节数组,也与$ b不一致。
PS > [Text.Encoding]::Unicode.GetBytes($a)
PS > compare $c[0..10] $b[0..10]
InputObject SideIndicator
----------- -------------
10 =>
32 <=
何时应该使用“未知”?
答案 0 :(得分:2)
Uknown不是提供的东西,而是返回的东西。 System.Text.Encoding不仅供powershell使用。 BCL中有许多区域接受或返回相同的枚举。一些值用于返回,另一些值用于提供。
-Oisin