Đây là một đoạn từ Dive Into Python 3 chuỗi liên quan:Đối tượng byte của Python có được gọi là chuỗi không?
Trong Python 3, tất cả các chuỗi là chuỗi ký tự Unicode. Không có điều gì như một chuỗi Python được mã hóa trong utf-8, hoặc một chuỗi Python được mã hóa là CP-1252. “Chuỗi này là utf-8?” Là một câu hỏi không hợp lệ. utf-8 là một cách mã hóa các ký tự dưới dạng một chuỗi các byte. Nếu bạn muốn lấy một chuỗi và biến nó thành một chuỗi các byte trong một mã hóa ký tự cụ thể, Python 3 có thể giúp bạn với điều đó. Nếu bạn muốn lấy một chuỗi các byte và biến nó thành một chuỗi, Python 3 cũng có thể giúp bạn với điều đó. Byte không phải là ký tự; byte là byte. Nhân vật là một trừu tượng. Một chuỗi là một chuỗi các trừu tượng đó.
Sáng nay tôi đã sử dụng các mô-đun hashlib
và đọc các văn bản trợ giúp cho md5
nói rằng:
Return một đối tượng MD5 băm mới; tùy chọn khởi tạo bằng một chuỗi.
Vâng, nó không chấp nhận string
- nó chấp nhận đối tượng bytes
.
Có lẽ tôi đang đọc quá nhiều vào điều này, nhưng sẽ không có ý nghĩa hơn nếu văn bản trợ giúp đã nêu một số bytes
nên được sử dụng thay thế? Hoặc là những người sử dụng cùng một tên cho chuỗi và byte?
Phiên bản tài liệu Python nào bạn đang xem? 2.7 không tạo ra sự khác biệt cần thiết 3k (rõ ràng là hehe), nhưng các tài liệu 3k tôi có. (BTW, một fan hâm mộ của LOK? :)) – Skurmedel
Không thể nhớ phiên bản chính xác bây giờ, có thể stackless thậm chí ... 3 cái gì đó. LOK rock;) – roqvist