为什么 Microsoft 选择 UTF-16 LE 作为 powershell 中的默认默认编码?

Why did Microsoft choose UTF-16 LE as the default default encoding in powershell?

从设计的角度来看,是什么让 Windows PowerShell 的创建者选择 UTF-16LE 而不是 UTF8,因为 UTF8 很常见,使用广泛,占用空间更小。

在我的新手看来,UTF-16LE 似乎也没有提供任何优于 UTF 8 的优势。

我正在寻找有关所做设计决策的一些事实证据。

Windows 从代码页(称为多字节)跳转到 UTF-16LE(称为宽字符)。如果您假设所有字符都是 16 位,它会使代码更简单。他们假设(这种编码称为 UCS-2)。 Unicode 联盟后来认为 16 位还不够,但微软改变路线为时已晚。因此,他们对“宽字符”的定义刚刚从 UCS-2 更改为 UTF-16LE。