В теории кодирования , особенно в телекоммуникациях , самосинхронизирующийся код — это однозначно декодируемый код , в котором поток символов , образованный частью одного кодового слова или перекрывающейся частью любых двух соседних кодовых слов, не является допустимым кодовым словом. [1] Другими словами, набор строк (называемых «кодовыми словами») в алфавите называется самосинхронизирующимся кодом, если для каждой строки, полученной путем конкатенации двух кодовых слов, подстрока, начинающаяся со второго символа и заканчивающаяся предпоследним символом, не содержит никакого кодового слова в качестве подстроки. Каждый самосинхронизирующийся код является префиксным кодом , но не все префиксные коды являются самосинхронизирующимися.
Другие термины для самосинхронизирующегося кода - синхронизированный код [2] или, неоднозначно, код без запятых . [3] Самосинхронизирующийся код позволяет правильно кадрировать передаваемые кодовые слова при условии, что в потоке символов не происходит неисправленных ошибок ; внешняя синхронизация не требуется. Самосинхронизирующиеся коды также позволяют восстанавливаться после неисправленных ошибок в потоке; в большинстве префиксных кодов неисправленная ошибка в одном бите может распространять ошибки дальше в потоке и делать последующие данные поврежденными .
Значение самосинхронизирующихся кодов не ограничивается передачей данных . Самосинхронизация также облегчает некоторые случаи восстановления данных , например, закодированного в цифровом виде текста .
11xxxxxx
) и последующие байты ( 10xxxxxx
) многобайтовой кодовой точки имеют разные битовые комбинации.Контрпримеры: