他の多くの記事を見てきましたが(下記参照)、この質問に対する明確な答えはまだありません。ウィンドウwchar_tは基本的な多言語面の外でユニコード文字をどのように扱いますか?ウィンドウwchar_tは基本的な多言語面の外でユニコード文字をどのように扱いますか?
ある:
- many programmers seem to feel that UTF-16 is harmfulそれは可変長符号であるからです。
- wchar_t is 16-bits wide on windowsただし、32-bits wide on Unix/MacOS
- Windows APIは、Unicodeではなくワイド文字を使用します。
Windowsでは、(U + 2008A)Han Characterのようなコードを作成するときにWindowsは何をしますか?
Windowsは、UCS2をエンコーディングとして使用します。 –
それも私が思ったことです。しかし、(U + 1D565)MATHEMATICAL DOUBLE-STRUCK SMALL Tを含むように私のWindowsコンピュータ上のファイル名を編集しました(http://programmers.stackexchange.com/questions/102205/should-utf-16-be参照)。 - 有害とみなされる)。したがって、たとえWindowsがUCS-2を使用していても、ファイル名にSMP文字を入れることができます。だからそれはどうやって? – vy32
[Wikipedia](http://en.wikipedia.org/wiki/NTFS#Internals)によると、「NTFSでは、名前のエンコーディング(ファイル名、ストリーム名、インデックス名など)に16ビット値の任意のシーケンスを使用できます。これはUTF-16コードポイントがサポートされていることを意味しますが、ファイルシステムはシーケンスが有効なUTF-16(Unicode標準のものに限らず、任意の短い値のシーケンスを許可しているかどうか)をチェックしません。 –