This module contains functions for converting between different character representations. The default Unicode encoding in Erlang is in binaries UTF-8, which is also the format in which built-in functions and libraries in OTP expect to find guaranteed binary option system Unicode data.
In lists, Unicode data is encoded as integers, each integer representing one character and encoded simply as the Unicode code point for the character. Other Unicode encodings than integers representing code points or UTF-8 in binaries are referred to as “external encodings”. The ISO Latin-1 encoding is in binaries and lists referred to as latin1-encoding. It is recommended to only use external encodings for communication with external entities where this is required. OTP environment, it is recommended to keep binaries in UTF-8 when representing Unicode characters. ISO Latin-1 encoding is supported both for backward compatibility and for communication with external entities not supporting Unicode character sets. Programs should always operate on a normalized form and compare canonical-equivalent Unicode characters as equal.