241 - это кодовая точка Unicode, которая соответствует глифу «LATIN SMALL LETTER N WITH TILDE». В Python символы хранятся внутри как их кодовые точки Unicode, поэтому ord('ñ')
- 241.
Кодировки - это сопоставления символов с байтами. Различные кодировки могут использовать или не использовать одни и те же байты для представления одних и тех же символов.
>>> 'ñ'.encode('utf-8')
b'\xc3\xb1'
>>> 'ñ'.encode('latin-1')
b'\xf1'
>>> 'ñ'.encode('cp1252')
b'\xf1'
>>> 'ñ'.encode('cp1254')
b'\xf1'
>>> 'ñ'.encode('utf-16')
b'\xff\xfe\xf1\x00'
>>> 'ñ'.encode('utf-32')
b'\xff\xfe\x00\x00\xf1\x00\x00\x00'
Если вы звоните str.encode()
без предоставления целевой кодировки, Python выберет системное значение по умолчанию - UTF-8 в вашем случае.
Подводя итог:
ord(s)
возвращает кодовую точку Unicode для определенного символа s.encode('<some encoding>')
возвращает байты, сопоставленные с этим символом в предоставленной кодировке