"Bản rõ" có thể có nhiều ý nghĩa.
Điều hữu ích nhất trong ngữ cảnh này là nó chỉ là một tệp nhị phân được sắp xếp theo chuỗi byte mà một hệ thống máy tính cụ thể có thể dịch thành một tập hợp hữu hạn những gì nó coi là "văn bản" ký tự.
Ý nghĩa thứ hai, được kết nối một phần, là hạn chế cho biết hệ thống sẽ hiển thị "ký tự văn bản" này dưới dạng biểu tượng có thể đọc được bởi con người làm thành viên của bảng chữ cái dễ nhận biết. Thông thường, ý nghĩa bất thành văn là cơ chế dịch là ASCII.
Ý nghĩa thứ ba, thậm chí còn hạn chế hơn, là hệ thống này phải là trình soạn thảo/trình xem văn bản "đơn giản". Thường ngụ ý mã hóa ASCII. Nhưng, thực sự, có rất ít sự khác biệt giữa bạn, con người, đọc văn bản được mã hóa ở một số định dạng sôi nổi và được hiển thị bởi một chương trình độc quyền, so với trình soạn thảo văn bản VI đọc tệp mã hóa ASCII.
Trong ngữ cảnh lập trình, môi trường lập trình của bạn (được API OS + tích hợp + khả năng ngôn ngữ của bạn) xác định cả bộ ký tự "văn bản" và bộ mã hóa có thể đọc để chuyển đổi thành các ký tự này " văn bản "ký tự. Xin lưu ý rằng điều này có thể không nhất thiết ngụ ý ASCII, tiếng Anh hoặc 8 bit - như một ví dụ, Perl có thể đọc và sử dụng bộ ký tự Unicode đầy đủ.
Để trả lời câu hỏi cụ thể của bạn, bạn chắc chắn có thể sử dụng chuỗi "ký tự" để truyền các chuỗi byte tùy ý, với báo trước rằng các quy ước chấm dứt chuỗi phải được áp dụng. Vấn đề là các hàm đã tồn tại để "xử lý dữ liệu ký tự" có thể sẽ không có bất kỳ chức năng hữu ích nào để xử lý dữ liệu nhị phân của bạn.
FYI, không có nội dung nào như văn bản thuần túy. http://www.joelonsoftware.com/articles/Unicode.html – harpo
FYI, văn bản thuần túy trong ngữ cảnh này không phải là UTF-8 và nó không thể đại diện cho Unicode, vì như tôi đã nói trước đây, nó là một chuỗi các byte, không có gì huyền ảo. –
Tôi cho rằng tôi đã có một chút snide. Sau khi tất cả, bạn đã bao gồm các dấu ngoặc kép xung quanh "plaintext". – harpo