Unicode の 16 進表現について混乱しています。単一の数学積分記号文字を含むサンプル ファイルがあります。それは U+222B です。ファイルを cat するか、vi で編集すると、積分記号が表示されます。ファイルの 16 進ダンプは、その 16 進コンテンツが 88e2 0aab であることを示しています
Python では、統合された Unicode 文字を作成し、p レンダリングを端末と統合記号に出力できます。
>>> p=u'\u222b'
>>> p
u'\u222b'
>>> print p
∫
私を混乱させるのは、整数記号を含むファイルを開くことができ、整数記号を取得できますが、16 進数の内容が異なることです。
>>> c=open('mycharfile','r').read()
>>> c
'\xe2\x88\xab\n'
>>> print c
∫
1 つは Unicode オブジェクトで、もう 1 つはプレーンな文字列ですが、明らかに同じ文字に対する 2 つの 16 進コードの関係は何ですか? どうすれば手動で変換できますか?