How are strings stored internally in Python 3?

5 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Unicode". Trong Python 3 mọi chuỗi str đều là chuỗi Unicode: mỗi phần tử là một điểm mã (code point) Unicode, nên chuỗi tiếng Việt hay tiếng Nhật được xử lý như nhau; còn dữ liệu byte thô là kiểu bytes riêng, phải encode/decode (thường bằng UTF-8) khi đọc ghi mạng hoặc tệp. Đây là khác biệt lớn so với Python 2, nơi str mặc định là byte. "UTF-16" sai vì đó là một cách mã hoá cụ thể; từ Python 3.3 (PEP 393), CPython lưu chuỗi theo biểu diễn linh hoạt 1, 2 hoặc 4 byte mỗi ký tự tuỳ ký tự lớn nhất, không cố định UTF-16. "EBCDIC" sai vì đó là bảng mã cũ của máy IBM, không dùng cho chuỗi Python. "inverted" sai vì không có cách lưu "đảo ngược" nào. "bubble memory" sai vì đó là một công nghệ bộ nhớ phần cứng cũ, không phải cách mã hoá chuỗi.

Cùng phần 3

Xuất hiện trong 1 bộ đề