Tôi hiện đang khám phá đặc tả của ngôn ngữ Digital Mars D và có một chút rắc rối khi hiểu được bản chất hoàn chỉnh của các loại ký tự nguyên thủy. Cuốn sách Learn to Tango With D tương tự như mơ hồ về khả năng và hạn chế của ngôn ngữ trong khu vực này.Những hạn chế của các loại ký tự nguyên thủy trong D là gì?
Các loại được đưa ra trên the website như:
char; // unsinged 8 bit UTF-8 wchar; // unsigned 16 bit UTF-16 dchar; // unsigned 32 bit UTF-32
Kể từ khi chúng ta biết rằng hầu hết các chuyển đổi Unicode (UTF) mã hóa Format đại diện cho nhân vật với một chút chiều rộng thay đổi, điều này có nghĩa là một char trong D chỉ có thể chứa các giá trị sẽ phù hợp với 8 bit, hoặc nó có mở rộng trong bộ nhớ vật lý của máy khi bạn cung cấp cho nó các ký tự byte kép không? Có lẽ có một số khả năng khác, như đúc tự động vào loại tiếp theo thích hợp nhất khi bạn quá tải biến?
Ví dụ: tôi muốn sử dụng thẻ UTF-8 trong trình chỉnh sửa và nhập bằng tiếng Trung. Nó sẽ chỉ đơn giản là rơi qua, hoặc là nó có thể đối phó với các ký tự Unicode hơn 'chính xác', như trong C#? Nó vẫn còn cần thiết để cung cấp mã keo để cho phép làm việc với bất kỳ ngôn ngữ được hỗ trợ bởi Unicode?
Tôi đánh giá cao bất kỳ thông tin cụ thể nào mà bạn có thể cung cấp về cách các loại này hoạt động dưới danh sách và bất kỳ lời khuyên thực tiễn tốt nhất chung nào về việc xử lý giới hạn của chúng.
"Kể từ khi chúng ta biết rằng các tiêu chuẩn Unicode đại diện cho nhân vật với một chút-width biến "-> bạn có nghĩa là utf8? – elcuco
Vâng, ý tôi là mã hóa UFT. Xin lỗi vì sự nhầm lẫn. – IanGilham