Tôi gặp sự cố với chuỗi mà tôi nhận được từ một trong các khách hàng của mình trên xmlrpc. Ông gửi cho tôi các chuỗi utf8 được mã hóa hai lần: (vì vậy khi tôi nhận được chúng trong python tôi có một đối tượng unicode đã được giải mã một lần nữa, nhưng rõ ràng là python không cho phép điều đó.Tôi đã nhận thấy khách hàng của tôi tuy nhiên tôi cần làm workaround nhanh chóng cho bây giờ trước khi ông sửa chữa nóGiải mã utf8 được mã hóa đôi trong Python
chuỗi thô từ tcp bãi:.
<string>Rafa\xc3\x85\xc2\x82</string>
này được chuyển thành:
u'Rafa\xc5\x82'
Điều tốt nhất chúng tôi nhận được là:
eval(repr(u'Rafa\xc5\x82')[1:]).decode("utf8")
Điều này dẫn đến đúng chuỗi đó là:
u'Rafa\u0142'
này hoạt động tuy nhiên là xấu xí như địa ngục và không thể được sử dụng trong mã sản xuất. Nếu có ai biết cách khắc phục vấn đề này theo cách phù hợp hơn, vui lòng viết. Cảm ơn, Chris
@partisann: Gọn gàng! Tôi không biết về raw_unicode_escape (rõ ràng 8-) – RichieHindle
Cảm ơn partisann, tôi không biết về nó. –
Có thể danh tiếng của bạn tăng vượt quá mong đợi, thậm chí sau tất cả những năm đó! :) – Marian