я нашел объяснение для декодирования HEX-представления в десятичной системе, но только с помощью Qt: How to get decimal value of a unicode character in c++C++: Преобразование шестнадцатеричного представления utf16 полукокса в десятичной системе (например, междунар питона (hex_data, 16))
Как я не с помощью Qt и cout << (int)c
делает не работы (Edit: это на самом деле работает, если вы используете его правильно! ..):
Как сделать следующее:
я получил шестнадцатеричное представление двух символов, которые были переданы через некоторое гнездо (Просто понял, как получить шестигранный Repr наконец ..!) И оба вместе взятого выхода следующего utf16-представление:
char c = u"\0b7f"
Это должно быть преобразовано в его utf16 десятичное значение ! (см его в UTF-таблице http://www.fileformat.info/info/unicode/char/0b7f/index.htm)
Это должно быть Absolut элементарный материалом, но в качестве назначенного разработчика Python вынужденного использовать C++ для проекта я вишу этот вопрос в течение нескольких часов ....
Почти на каждой системе символ не будет содержать полный символ utf16. UTF16 - 2/4 байта, тогда как символ - один. Кроме того, что вы подразумеваете под конверсией? Все эти цифры представлены на компьютере одинаково. – Nonanon
'char' всего 1 байт, вы можете использовать' wchar_t', который является 2 байтами в Windows и 4 в Posix, или 'char16_t' для независимости от платформы, если вы используете C++ 11 и выше. Затем вы можете просто перевести переменную в 'int', чтобы получить числовое значение. –
Ты совершенно прав, только что отредактировал мой вопрос .... два сочетания сочетаний дают мне это utf16-представление .... Я просто хочу получить десятичное значение «2943» из «\ 0b7f» (см. Таблицу символов). –