我以三种不同的形式编辑三个具有相同内容“你”(you
英文)的文件——gbk\utf-8\ucs-2,gedit 名为“ok1,ok2,ok3”。
>>> f1 = open('ok1', 'rb').read()
>>> f2 = open('ok2', 'rb').read()
>>> f3 = open('ok3', 'rb').read()
>>> f1
'\xc4\xe3\n'
>>> f2
'\xe4\xbd\xa0\n'
>>> f3
'`O\n\x00'
>>> hex(ord("`"))
'0x60'
>>> hex(ord("O"))
'0x4f'
实际上 f3 是 '\x60\x4f',但是下面的输出让我很困惑
>>> '\xe4\xbd\xa0'.decode("utf-8")
u'\u4f60'
>>> '\xc4\xe3'.decode("gbk")
u'\u4f60'
>>>
为什么在ucs-2(或说unicode)中只有字节序问题,而不是utf-8,而不是gbk?