LINUX.ORG.RU

История изменений

Исправление Kiborg, (текущая версия) :

Ну в принципе раз уж ты знаешь, что в файле должно быть utf8, можно попробовать найти первый байт многобайтового символа (он начинается с бит 0b11xxxxxx, либо с 0b0xxxxxxx, но в этом случае это должен быть единственный байт символа и ничего делать больше не надо), по нему определить длину символа в байтах (= количеству единиц в старших разрядах), и дочитать недостающие.

Исходная версия Kiborg, :

Ну в принципе раз уж ты знаешь, что в файле должно быть utf8, можно попробовать найти первый байт многобайтового символа (он начинается с 11, либо с 0, но в этом случае это должен быть единственный байт символа и ничего делать больше не надо), по нему определить длину символа в байтах (= количеству единиц в старших разрядах), и дочитать недостающие.