缺貨[2]:「U'\ XD0 \ XA0 \ XD0 \ XBE \ XD1 \ X81 \ XD1 \ X81 \ XD0 \ XB8 \ XD0 \ xb9 \ XD1 \ X81 \ XD0 \ XBA \ XD0 \ XB0 \ XD1 \ X8F \ XD0 \ XA4 \ XD0 \ XB5 \ XD0 \ XB4 \ XD0 \ XB5 \ XD1 \ X80 \ XD0 \ XB0 \ XD1 \ 86 \ XD0 \ XB8 \ XD1 \ X8F'」
如果是這樣的你看到的是,你的終端設置錯誤,它將UTF-8輸入視爲ISO-8859-1(或者在Windows控制檯的情況下是cp1252,這是無法正確設置的)。
的Российская Федерация
正確的Python的再版將是Unicode的文字:
u'\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f'
,因爲它發生哪如果你想要一個7是相當接近的JavaScript/JSON字符串字面
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f"
一個Unicode字符串的位安全(ASCII)表示,JSON是一種合理的格式選擇。通過使用json.dumps()
來獲得它,而不是剽竊Python repr,因爲這兩種格式之間存在一些細微的不一致。
您可以嘗試的其他很好理解的ASCII表示可能包括URL編碼(%D0%A0%D0%BE...
)和XML字符轉義(<value>Рос...</value>
)。
如果您只需要一個任意的二進制表示,並不需要像7位安全的那樣,就像Max提到的那樣,只需要.encode('utf-8')
。