Unicode defines a numeric value (codepoint) for every character.
Codepage/charset encodings define the relationship between bytes and Unicode codepoints. Since files generally consist of bytes, this is a useful thing to nail down.
UTF-8 is a specific byte encoding for Unicode codepoints. For instance, on Windows it is implemented as codepage 65001.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…