ASCII
Tiêu chuẩn mã hóa ký tự 7-bit biểu diễn 128 ký tự bao gồm chữ cái tiếng Anh, chữ số và các ký hiệu cơ bản.
ASCII (American Standard Code for Information Interchange) là tiêu chuẩn mã hóa ký tự được thiết lập năm 1963 bởi Hiệp hội Tiêu chuẩn Mỹ (ASA, nay là ANSI). Nó sử dụng 7 bit để biểu diễn 128 ký tự: chữ cái tiếng Anh viết hoa và viết thường (A-Z, a-z), chữ số (0-9), các ký hiệu cơ bản (! @ # $ v.v.) và 33 ký tự điều khiển (xuống dòng, tab, v.v.). Được tạo ra để chuẩn hóa truyền thông dữ liệu giữa các máy tính, nó vẫn là điểm khởi đầu cho tất cả các mã hóa ký tự hiện đại.
ASCII tạo nền tảng cho mã hóa ký tự hiện đại. UTF-8 hoàn toàn tương thích ngược với ASCII, nghĩa là các ký tự ASCII sử dụng chính xác 1 byte trong UTF-8. Điều này làm cho văn bản ASCII rất hiệu quả về byte. Nhờ tính tương thích này, các tệp được viết hoàn toàn bằng ASCII có thể được đọc chính xác dưới dạng UTF-8 mà không cần chuyển đổi. Sách cơ bản về mã hóa ký tự bao gồm lịch sử và cơ chế của ASCII chi tiết.
Trong lập trình, giá trị mã ASCII thường được sử dụng để phân loại và chuyển đổi ký tự. Ví dụ, chữ A viết hoa là 65 và chữ a viết thường là 97, với hiệu số không đổi là 32. Tính đều đặn này cho phép chuyển đổi chữ hoa/thường nhanh bằng phép toán bit. Ngoài ra, chữ số 0 có giá trị mã là 48, vì vậy trừ 48 từ ký tự '5' cho ra giá trị số 5. Kiến thức về giá trị mã ASCII như vậy rất hữu ích trong thực tế khi triển khai xác thực đầu vào và bộ phân tích cú pháp.
128 ký tự của ASCII không thể biểu diễn tiếng Nhật, tiếng Trung hoặc các chữ viết phi Latin khác, dẫn đến sự phát triển của các mã hóa khu vực. Nhật Bản sử dụng Shift_JIS và EUC-JP, Trung Quốc sử dụng GB2312, và sự phổ biến của các mã hóa này gây ra các vấn đề lỗi ký tự rộng rãi. Unicode cuối cùng đã xuất hiện để xử lý tất cả ký tự trên thế giới trong một hệ thống thống nhất, nhưng ASCII vẫn tồn tại như nền tảng của nó. Sách cơ bản khoa học máy tính coi ASCII là kiến thức thiết yếu.
Trong đếm ký tự, các ký tự ASCII luôn duy trì mối quan hệ đơn giản 1 ký tự = 1 byte. Ngược lại, các ký tự toàn chiều rộng tiếng Nhật tiêu tốn 3 byte trong UTF-8, vì vậy số byte khác biệt đáng kể ngay cả với cùng số ký tự. Khi xem xét giới hạn VARCHAR của cơ sở dữ liệu hoặc kích thước payload API, tỷ lệ ký tự ASCII so với phi ASCII ảnh hưởng trực tiếp đến ước tính số byte.