LINUX.ORG.RU

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

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

До 6-ти, вообще-то.

В оригинале да. Но стандартом его урезали до 4-х. https://en.wikipedia.org/wiki/UTF-8#Description

The original specification covered numbers up to 31 bits (the original limit of the Universal Character Set). In November 2003, UTF-8 was restricted by RFC 3629 to end at U+10FFFF, in order to match the constraints of the UTF-16 character encoding. This removed all 5- and 6-byte sequences, and 983040 4-byte sequences.

По этому я бы не волновался за отсутствующие дополнительные два байта. Просто код, работающий с UTF-8 должен считать байты 111110xx и 1111110x невалидным началом UTF-8 последовательности.

Исправление KennyMinigun, :

До 6-ти, вообще-то.

В оригинале да. Но стандартом его урезали до 4-х. https://en.wikipedia.org/wiki/UTF-8#Description

The original specification covered numbers up to 31 bits (the original limit of the Universal Character Set). In November 2003, UTF-8 was restricted by RFC 3629 to end at U+10FFFF, in order to match the constraints of the UTF-16 character encoding. This removed all 5- and 6-byte sequences, and 983040 4-byte sequences.

По этому я бы не волновался за отсутствующие дополнительные два байта. Просто код, работающий с UTF-8 должен считать 111110xx и 1111110x невалидными байтами, начинающими UTF-8 последовательность.

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

До 6-ти, вообще-то.

В оригинале да. Но стандартом его урезали до 4-х. https://en.wikipedia.org/wiki/UTF-8#Description

The original specification covered numbers up to 31 bits (the original limit of the Universal Character Set). In November 2003, UTF-8 was restricted by RFC 3629 to end at U+10FFFF, in order to match the constraints of the UTF-16 character encoding. This removed all 5- and 6-byte sequences, and 983040 4-byte sequences.

По этому я бы не волновался за отсутствующие дополнительные два байта. Просто код, рабтающий с UTF-8 должен считать 111110xx и 1111110x невалидными байтами начинающими UTF-8 последовательность.