lpwstr字符串的默认字节顺序是什么?
我正在使用WriteFile()函数将数据写入c ++中的文件。我猜它在utf-16BE中写入数据。我需要在utf-16le中写入数据。我可以实现它吗?
用Google搜索了几个小时,我找不到解决方案。答案 0 :(得分:1)
如果您使用的是LPWSTR,我会说您使用的是Windows(及其变体),因此可能在Intel / AMD机器上,因此它已经是Little Endian。 LPWSTR
使用处理器的字节序。 Windows从未被移植到Big Endian(至少从我所知道的那里)
请注意,至少有一个例外:XBOX 360是Big Endian。
答案 1 :(得分:1)
WriteFile
不对您的数据进行转换或其他更改。如果你传递一个LPWSTR
,那么它会把它写在它存储在LPWSTR
的字节顺序中 - 在任何运行Windows的机器上都是PROBABLY“little endian”(至少,我一直都是这样)我们查看了一个Windows“Unicode”字符串,它是16位Little Endian数据。