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

问题描述

从设计的角度来看,当UTF8普遍且广泛使用且占用空间较小时,促使Windows PowerShell创建者选择UTF-16LE而不是UTF8的原因。

在我的新手眼中,UTF-16LE似乎也没有提供超过UTF 8的任何优势。

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

解决方法

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