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