UTF-16 には、ビッグ エンディアンとリトル エンディアンの 2 種類のエンディアンがあることを知っています。
C++ 標準は std::wstring のエンディアンを定義していますか? それとも実装定義ですか?
標準定義の場合、C++ 標準のどのページでこの問題に関する規則が規定されていますか?
実装定義の場合、それを決定する方法は? たとえば、VC++ の下。コンパイラは、std::wstring のエンディアンが厳密にプロセッサに依存することを保証しますか?
私はこれを知らなければなりません。UTF-16文字列を他の人に送りたいからです。エンディアンを示すために、UTF-16 文字列の先頭に正しい BOM を追加する必要があります。
要するに: std::wstring が与えられた場合、そのエンディアンを確実に判断するにはどうすればよいですか?