UTF-8 Encoding: The Key to Multi-Language Support for Your Website
UTF-8 encoding - это стандарт кодирования символов Unicode в виде последовательности многобайтовых кодовых единиц. В UTF-8 используется переменная длина кодовых единиц: символы Unicode могут быть закодированы от 1 до 4 байт.
Пример кодирования символа "A" в UTF-8:
ASCII-код символа "A": 65 (десятичное число), 01000001 (двоичное представление)
UTF-8 код символа "A": 01000001 (однобайтовое представление, так как символ "A" входит в ASCII-таблицу)
Пример кодирования символа "Б" в UTF-8:
Кодовая точка символа "Б" в Unicode: U+0411
Двоичное представление кодовой точки: 0000 0100 0001 0001
Кодирование в UTF-8:
Первый байт: 110xxxxx (биты x будут заменены на биты кода символа)
Второй байт: 10xxxxxx (биты x будут заменены на оставшиеся биты кода символа)
Код символа "Б": 11010000 10110001 (в шестнадцатеричном представлении: D0 B1)
Пример кодирования строки "Привет, мир!" в UTF-8 с помощью Python:
text = "Привет, мир!"
utf8_text = text.encode("utf-8")
print(utf8_text)
Результат:
b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82, \xd0\xbc\xd0\xb8\xd1\x80!'
Здесь мы использовали метод encode() объекта строки, передав ему в качестве аргумента имя нужной кодировки (в данном случае, "utf-8"). Результатом является байтовая строка (объект класса bytes), содержащая закодированный текст. Обратное декодирование можно произвести с помощью метода decode():
decoded_text = utf8_text.decode("utf-8")
print(decoded_text)
Результат:
Привет, мир!