gchq/CyberChef

manchester encoding / decoding

Open

#1104 opened on Sep 18, 2020

View on GitHub
 (4 comments) (0 reactions) (1 assignee)JavaScript (34,843 stars) (3,944 forks)batch import
featurehelp wantedoperation

Description

manchester encoding (also known as phase encoding) is commonly used with telecommunications and data storage and would be a useful filter in CyberChef, particularly when working with SDR (software defined radio) sourced data

In short to encode, a input value of 1 becomes 01 and a input value of 0 becomes 10

encode(input) {

    foreach bit in input {
        if bit == 0 {
            output.append(1);
            output.append(0);
        } else {
            output.append(0);
            output.append(1);
        }

    return output;
}

Contributor guide