私はpython 2.7.10を使用します。python u ' u00b0'はu ' xb0'を返します。どうして?
文字エンコーディングを扱う場合や、対象物のスタックオーバーフローなどをたくさん読んだ後、私はこの動作に奇妙に見えました。 Pythonインタプリタの入力次の出力で
>>>u'\u00b0'
結果:
u'\xb0'
私は、DOSウィンドウ、アイドルコンソール、および翼-IDE Pythonシェルを使用して、この動作を繰り返すことができます。
私の前提条件(間違っていると私を修正してください): "度記号"にはユニコード0x00b0、utf-8コード0xc2b0、ラテン1コード0xb0があります。 Pythonのdocでは、u接頭辞を持つ文字列リテラルは、Unicodeを使ってエンコードされています。
質問:Unicodeエスケープシーケンスを保持する代わりに、結果がlatin-1エンコーディングに一致するバイトエスケープシーケンスを持つユニコード文字列リテラルに変換されるのはなぜですか?
ご協力いただきありがとうございます。