Мой код в основном такой:
wstring japan = L"日本";
wstring message = L"Welcome! Japan is ";
message += japan;
wprintf(message.c_str());
Я хочу использовать широкие строки, но я не знаю, как они выводятся, поэтому я использовал wprintf.Когда я запускаю что-то вроде:
./widestr | hexdump
Шестнадцатеричные кодовые точки создают это:
65 57 63 6c 6d 6f 21 65 4a 20 70 61 6e 61 69 20 20 73 3f 3f
e W c l m o ! e J p a n a i s ? ?
Почему все они прыгают в порядке?Я имею в виду, если wprintf не так, я все еще не понимаю, почему он выводил бы в таком конкретном беспорядочном порядке!
edit: endianness или что-то еще?кажется, они вращают каждые два символа.Да.
РЕДАКТИРОВАТЬ 2: Я пытался использовать wcout, но он выводит точно такие же шестнадцатеричные кодовые точки.Weird!