我想向我的学生展示以 macroman/latin1 格式打开一个编码为 latin1/macroman [resp.] 的文件的结果:
>>> s = u"Tout condamné à mort aura la tête tranchée."
>>> print s.encode("latin1").decode("macroman")
Tout condamnÈ ‡ mort aura la tÍte tranchÈe.
>>> print s.encode("macroman").decode("latin1")
Tout condamn mort aura la tte tranche.
但我对第二次转换没有显示任何可见的非 ASCII 字符这一事实感到困惑。不是 macroman 和 latin1 都意味着字节 <-> 字符双射吗?
注意:这与 Python 无关,因为我可以使用文本编辑器重现该行为。