Khi tôi cố gắng lấy nội dung của thẻ bằng cách sử dụng "unicode (head.contents [3])" tôi nhận được kết quả tương tự như sau: "Christensen Sk \ xf6ld ". Tôi muốn chuỗi thoát được trả về dạng chuỗi. Làm thế nào để làm điều đó trong python?Làm thế nào để chuyển đổi chuỗi thoát unicode thành các ký tự unicode trong một chuỗi python
Trả lời
Giả sử Python thấy tên dưới dạng một chuỗi bình thường, trước tiên bạn sẽ cần phải giải mã nó để unicode:
>>> name
'Christensen Sk\xf6ld'
>>> unicode(name, 'latin-1')
u'Christensen Sk\xf6ld'
Một cách khác để đạt được điều này:
>>> name.decode('latin-1')
u'Christensen Sk\xf6ld'
Lưu ý "u" ở phía trước của chuỗi, báo hiệu nó là không mã hóa. Nếu bạn in chữ này, chữ cái có dấu được hiển thị chính xác:
>>> print name.decode('latin-1')
Christensen Sköld
BTW: khi cần thiết, bạn có thể sử dụng phương pháp de "mã hóa" để biến mã unicode thành ví dụ: một chuỗi UTF-8:
>>> name.decode('latin-1').encode('utf-8')
'Christensen Sk\xc3\xb6ld'
Tôi nghi ngờ rằng nó hoạt động chính xác. Theo mặc định, Python hiển thị các chuỗi trong mã hóa ASCII, vì không phải tất cả các thiết bị đầu cuối đều hỗ trợ unicode. Nếu bạn thực sự in chuỗi, mặc dù, nó sẽ làm việc. Xem ví dụ sau:
>>> u'\xcfa'
u'\xcfa'
>>> print u'\xcfa'
Ïa
Nếu vấn đề là với thiết bị đầu cuối, nó sẽ được hiển thị đúng nếu tôi lưu nó vào cơ sở dữ liệu (MySQL) ?? – Vicky
Có, nó sẽ, nhưng bạn phải chăm sóc mã hóa tập hợp ký tự/bộ ký tự DB của bạn. – securecurve
Cho một chuỗi byte với Unicode thoát b"\N{SNOWMAN}"
, b"\N{SNOWMAN}".decode('unicode-escape)
sẽ tạo ra các chuỗi Unicode dự kiến u'\u2603'
.
- 1. Chuyển đổi unicode ký tự Cyrillic để chuỗi trong python
- 2. Chuyển đổi codepoint unicode thành chuỗi ký tự trong Ruby
- 3. Chuyển đổi chuỗi unicode thành chuỗi byte
- 4. Ký tự Unicode chuỗi
- 5. Trong Python, làm cách nào để chuyển đổi danh sách các chuỗi và chuỗi thành Unicode?
- 6. Chuyển đổi chuỗi \ u thoát Unicode thành ASCII
- 7. Unicode để chuyển đổi chuỗi trong Java
- 8. Python chuỗi Unicode
- 9. Làm thế nào để chuyển đổi một chuỗi UTF-8 thành Unicode?
- 10. Cách chuyển đổi chuỗi có mã hóa Unicode thành chuỗi ký tự
- 11. Làm cách nào để thoát chuỗi Unicode bằng Ruby?
- 12. Chuyển đổi HTML thoát chuỗi Unicode plain/ASCII
- 13. Chuyển đổi ký hiệu tham chiếu ký tự số thành chuỗi unicode
- 14. Làm thế nào để chuyển đổi ký tự unicode 00B0 (độ ký)?
- 15. Python: Tạo chuỗi Unicode
- 16. Biến đổi chuỗi unicode trong python
- 17. Làm cách nào để mã hóa các mã ký tự Unicode trong chuỗi ký tự PowerShell?
- 18. Làm cách nào để chuyển đổi chuỗi chứa chuỗi thoát ký tự thành char?
- 19. python: làm thế nào để chuyển đổi chuỗi chữ thành chuỗi ký tự nguyên?
- 20. văn bản với trình tự thoát unicode sang Unicode trong python
- 21. Làm thế nào để bạn chuyển đổi một chuỗi thành chuỗi ký tự Java?
- 22. Làm thế nào để đặt một ký tự Unicode bổ sung trong một chuỗi chữ?
- 23. chuyển đổi unicode thành ký tự bằng ruby
- 24. Chuyển đổi các đối tượng XML/HTML thành chuỗi Unicode trong Python
- 25. Chuyển đổi ký tự tiếng Trung thành Unicode
- 26. Python chuyển đổi chuỗi ký tự thành chuỗi
- 27. Bạn có thể tránh Gson chuyển đổi "<" and ">" thành chuỗi thoát unicode không?
- 28. chuỗi byte so với chuỗi unicode. Python
- 29. Chuyển đổi codicoint unicode thành UTF8 hex trong python
- 30. Python 3.x: Sử dụng string.maketrans() để tạo ra một unicode ký tự chuyển đổi
cảm ơn rất nhiều anh chàng. Vì vậy, nếu tôi cần nó để lưu nó vào một cơ sở dữ liệu tôi có thể giải mã nó và lưu vào cơ sở dữ liệu, phải không? – Vicky
KHÔNG, đọc lại ví dụ của Mark. Sau khi giải mã dữ liệu từ bất kỳ thứ gì (latin1, cp1252, vv) thành unicode, bạn cần mã hóa chuỗi unicode với mã hóa (1) cơ sở dữ liệu hỗ trợ và (2) bảo toàn tất cả các ký tự unicode ... thường là UTF-8 . –