Используемые вами страницы несколько сбивают вас с толку. Ни ваша «таблица UTF-8», ни «таблица Unicode» не дают вам значения кодовой точки в UTF-8. Они оба просто перечисляют значение Unicode символов.
В Юникоде каждому символу («кодовая точка») присваивается уникальный номер. Символу ö
присваивается кодовая точка U+00F6
, которая равна F6
в шестнадцатеричном и 246
в десятичном виде.
UTF-8 - это представление Unicode, использующее последовательность от одного до четырех байтов на кодовую точку Unicode. Преобразование из 32-битных кодовых точек Unicode в последовательности байтов UTF-8 описано в этой статье - это довольно просто сделать, как только вы к этому привыкнете. Конечно, компьютеры делают это постоянно, но вы можете легко это сделать карандашом и бумагой, а в голове немного потренироваться.
Если вы выполните это преобразование, вы увидите, что U+00F6
преобразуется в последовательность UTF-8 C3 B6
, или 1100 0011 1011 0110
в двоичном формате, поэтому это представление UTF-8 ö
.
Другая половина вашего вопроса касается ISO-8859-1. Это кодировка символов, обычно называемая " Latin-1 ". Числовые значения кодировки Latin-1 совпадают с первыми 256 кодовыми точками в Unicode, поэтому ö
равно F6
в Latin-1.
После преобразования между UTF-8 и стандартными кодовыми точками Unicode (UTF-32) получить кодировку Latin-1 будет тривиально. Однако не все последовательности UTF-8 / символы Unicode имеют соответствующие символы Latin-1.
См. Отличную статью Абсолютный минимум для каждого разработчика программного обеспечения. Абсолютно, положительно необходимо знать о Unicode и наборах символов (никаких оправданий!) для лучшего понимания кодировок и преобразований между ними.