Converts a sequence of digital data to signals to be sent, received, decoded, and recreated
Encrypts and changes data to safeguard sensitive information
Detects and/or corrects errors in code
Groups repetitive data to encode information using less bits than the original code