Я пытаюсь извлечь значение символа из формата UTF-8. Предположим, у меня есть два символа, и извлечь 5 битов из первого символа => 10111 и 6 бит из другого символа => 010000C++ бит-манипуляция
так
ch1 = 10111;
ch2 = 010000;
как бы я объединить их, чтобы сформировать 10111010000 и вывести его hex как 0x5d0? Нужно ли мне менять или есть более простой способ сделать это, потому что проверка документации write
, по-видимому, способна читать символы последовательно, есть ли подобная функция? Кроме того, похоже, мне понадобится буфер символов, так как 10111010000 имеет длину 11 бит. Кто-нибудь знает, как это сделать?
Как насчет использования 'union'? Возможно, вам придется проявлять особую осторожность, поскольку их выравнивание может быть зависимым от платформы. – iammilind
@iammilind, как бы я использовал союз? Не могли бы вы ответить на этот вопрос? – Mark