У стандарті unicode є достатня кількість кодових точок, що вам потрібно 4 байти, щоб зберігати їх усі. Ось що робить кодування UTF-32. Однак кодування UTF-8 якимось чином видавлює їх у набагато менші простори, використовуючи щось, що називається "кодування змінної ширини".
Насправді йому вдається представити перші 127 символів US-ASCII лише в одному байті, який виглядає точно як справжній ASCII, тому ви можете інтерпретувати безліч тексту ascii так, ніби це був UTF-8, не роблячи нічого з цим. Акуратний трюк. То як це працює?
Я збираюся запитати і відповісти на моє власне запитання тут, тому що я просто трохи прочитав, щоб зрозуміти це, і я подумав, що це може врятувати когось іншого деякий час. Плюс можливо, хтось може мене виправити, якщо я щось неправильно зрозумів.