2011-08-18 15 views

Odpowiedz

11

Jest to kodowanie punktu kodowego, który pobiera więcej jednostek kodu niż potrzeba.

Na przykład U + 0020 jest reprezentowany w UTF-8 przez jeden bajt 0x20. Jeśli odszyfrujesz dwa bajty 0xc0 0xa0 w zwykły sposób, nadal będziesz wracał do U + 0020, ale jest to nieprawidłowa reprezentacja.

Więcej informacji znajduje się w Tabeli 3.1B, pod numerem Unicode Corrigendum #1.

2

UTF-8 teoretycznie pozwala na różne odwzorowania znaków, które również są krótsze. Na przykład można zakodować znak ASCII w dwóch bajtach, ustawiając MSB na zero. Specyfikacja UTF-8 wyraźnie to zabrania.

+0

Okropne kalambur. Głosowałem w dół. – Computer

+0

@Computer: o.O o jakiej kalambrze tęskniłem? – Joey

+0

Powiedziałeś, że forbity! – Computer