Whereas most of the Unix/POSIX/etc world uses UTF-8 for text representation, Windows uses UTF-16LE.
Why is that? There are multiple folks who say the Windows APIs were written before UTF-8 (and even Unicode as we know it) existed (1, 2, 3), so UTF-16 (or even earlier, UCS-2) was the best they had, and that converting the existing APIs to UTF-8 would be a ridiculous amount of work.
But are there any official sources for these 2 claims? The official MSDN page for Unicode makes it seem like UTF-16 may even be desirable (though I don't myself agree):
These functions use UTF-16 (wide character) encoding, which is the most common encoding of Unicode and the one used for native Unicode encoding on Windows operating systems.
Is there any official note (or an engineer who worked on the project) explaining the reasoning behind choosing UTF-16 and why Windows would/would not switch to UTF-8?
Disclaimer: I work for Microsoft.