ユニコード文字があるとしますwchar_t x;
もちろん、x
ASCIIに変換する明白な方法は、 wctob関数を使用することです。
しかし、Unicode の最初の 255 文字は ASCIIに対応するため、キャストはchar
プラットフォーム間で一貫して機能するのでしょうか?
char c = (char) x ; // cast to char, this works on Windows
問題は、キャストがchar
LOW ORDER ビットを保持することを保証するのか、それとも HIGH ORDER ビットを保持する可能性があるのかということです。(ここでリトル エンディアン/ビッグ エンディアンの状況が懸念されますが、私のリトル エンディアン システムで機能した場合は、ビッグ エンディアン システムでも確実に機能するはずです)。