Google Play badge

ascii


ASCII: Máy tính lưu trữ chữ cái và ký hiệu như thế nào

Ý tưởng lớn

Máy tính sử dụng số. Con người sử dụng chữ cái và ký hiệu. Chúng ta cần một cầu nối. ASCII chính là cầu nối đó. ASCII chuyển đổi mỗi chữ cái hoặc ký hiệu thành một con số. Máy tính lưu trữ số đó. Khi chúng ta đọc, máy tính sẽ hiển thị lại chữ cái đó. Đây là cách văn bản hoạt động trong nhiều tệp và ứng dụng.

Tại sao máy tính cần có mã

Máy tính hoạt động nhờ điện. Nó có hai trạng thái: Bật và Tắt. Chúng ta gọi hai trạng thái này là bit . Một bit là 0 hoặc 1. Nhiều bit kết hợp lại tạo thành những con số lớn hơn. Tám bit tạo thành một byte . Với bit, chúng ta có thể đếm. Với việc đếm, chúng ta có thể đặt tên cho mọi thứ. ASCII sử dụng việc đếm để đặt tên cho các chữ cái và ký hiệu.

Một bit tạo ra hai lựa chọn. Hai bit tạo ra bốn lựa chọn. Trong toán học, ý tưởng này được thể hiện dưới dạng \(\;2^n\) . Với \(n=7\) , ta có \(2^7 = 128\) lựa chọn. Với \(n=8\) , ta có \(2^8 = 256\) lựa chọn. ASCII sử dụng 7 bit. Điều đó tạo ra 128 mục được đặt tên. Sau này, người ta đã tạo ra các bộ 8 bit với 256 mục. Chúng được gọi là ASCII mở rộng .

ASCII có nghĩa là gì

ASCII là viết tắt của American Standard Code for Information Interchange (Mã chuẩn Hoa Kỳ để Trao đổi Thông tin ). Nó ra đời vào những năm 1960. Nó được tạo ra cho các máy in, máy điện báo và máy tính đời đầu. Nó gán cho mỗi chữ cái, số, khoảng trắng và một số ký hiệu một con số. Nó cũng gán các số đặc biệt cho các thao tác như xuống dòng . Phiên bản đầu tiên sử dụng 7 bit, vì vậy nó có các số từ 0 đến 127.

Có gì bên trong ASCII
Ví dụ bản đồ đơn giản

Lưu ý một điều thú vị. Chữ thường dài hơn chữ hoa 32 ký tự. Ví dụ: \(\;97 - 65 = 32\) . Vậy 'a' dài hơn 'A' 32 ký tự. 'b' dài hơn 'B' 32 ký tự, v.v. Mẫu này giúp một số tác vụ máy tính trở nên dễ dàng hơn.

Kiểm soát các ký tự bằng từ ngữ đơn giản

Khi bạn nhấn phím Enter, máy tính của bạn có thể gửi LF, CR, hoặc cả hai, tùy thuộc vào hệ thống. Nhiều công cụ internet sử dụng LF. Một số hệ thống cũ sử dụng CR và LF cùng lúc.

Chế độ xem thập phân, nhị phân và thập lục phân

Chúng ta có thể viết số theo nhiều cách khác nhau. Hệ thập phân là cách đếm thông thường, sử dụng các chữ số từ 0 đến 9. Hệ nhị phân chỉ sử dụng 0 và 1. Hệ thập lục phân (hexadecimal) sử dụng 0 đến 9 và A đến F.

Làm thế nào mà hệ nhị phân tạo ra 65 cho 'A'? Hãy xem các bit trong 01000001. Bit ngoài cùng bên trái là 128. Sau đó là 64, 32, 16, 8, 4, 2, 1. Chỉ có 64 và 1 là đúng. Vậy \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .

Từ bàn phím đến màn hình

Nhấn một phím. Bàn phím sẽ gửi một mã đến máy tính. Hệ thống sẽ chuyển mã đó thành một số ký tự. Đối với nhiều phím, số đó là số ASCII. Ứng dụng sẽ lưu số đó vào bộ nhớ. Khi hiển thị văn bản, ứng dụng sẽ tra cứu số đó và vẽ chữ cái tương ứng. Khi bạn lưu, các số sẽ được lưu vào tệp.

Cách văn bản di chuyển qua mạng

Hãy nghĩ đến tin nhắn Xin chào!. Các chữ cái là H, i và !. Mã ASCII của chúng là 72, 105 và 33. Trong hệ nhị phân, chúng là 01001000, 01101001 và 00100001. Mạng gửi các bit này. Phía bên kia đọc các bit. Nó nhìn thấy các số. Nó lại hiển thị H, i và !. Đó là cách các tin nhắn văn bản đơn giản di chuyển.

Trang mã và ASCII mở rộng

Mọi người muốn nhiều ký hiệu hơn. Họ muốn các chữ cái như é, ñ và ø. Họ muốn các ký hiệu tiền tệ như €. Bộ 7 bit chỉ có 128 ký hiệu. Vì vậy, mọi người đã sử dụng 8 bit. Với 8 bit, chúng ta có \(2^8 = 256\) ký hiệu. Nửa trên, từ 128 đến 255, được sử dụng cho các chữ cái và ký hiệu bổ sung. Nhưng có một vấn đề. Các nhóm khác nhau đã chọn các số khác nhau cho những chữ cái bổ sung đó. Những lựa chọn này được gọi là trang mã .

Do các trang mã khác nhau, cùng một số có thể hiển thị một ký hiệu khác nhau trên máy tính khác. Sự nhầm lẫn này được gọi là mojibake . Nó trông giống như những ký tự lạ. Đây là một lý do khiến thế giới chuyển sang Unicode.

ASCII và Unicode

Unicode là một chuẩn lớn có thể hiển thị nhiều ngôn ngữ, ký hiệu toán học và biểu tượng cảm xúc. Nó có thể chứa hơn một triệu ký hiệu. Có nhiều cách để lưu trữ Unicode. Một trong những cách phổ biến là UTF-8 .

Văn bản sử dụng bao nhiêu byte

Với văn bản chỉ có ASCII, mỗi ký tự sử dụng một byte. Vì vậy, từ "cat" sử dụng 3 byte. Cụm từ "hi mom" có 6 ký tự bao gồm cả khoảng trắng, vì vậy nó sử dụng 6 byte. Theo phép toán đơn giản, \(\textrm{byte ASCII} = \textrm{số lượng ký tự}\) .

Sắp xếp thứ tự với ASCII

Máy tính thường sắp xếp các chuỗi theo số ký tự. Thứ tự ASCII nhóm các thứ theo một cách nhất định.

Điều này có nghĩa là Zoo đứng trước Apple nếu chúng ta so sánh các giá trị ASCII đơn giản. Việc sắp xếp được thực hiện theo số, không phải theo cách phát âm của từ.

Mã ASCII phổ biến cần biết

Lưu ý dấu & là &. Mã ASCII của nó là 38. Dấu cộng + là 43. Dấu trừ - là 45.

Ứng dụng thực tế trong công nghệ hàng ngày
Các mẫu ASCII giúp ích
Làm thế nào để tạo ra hình ảnh bằng ASCII

Người ta tạo ra hình ảnh chỉ bằng các ký tự. Đây được gọi là nghệ thuật ASCII . Đây là một khuôn mặt nhỏ được tạo ra bằng các ký tự ASCII.

:-) Nụ cười đơn giản
(^_^) Gương mặt thân thiện
o_O Ngạc nhiên

Mỗi mặt chỉ là các ký tự như dấu hai chấm, dấu gạch ngang và dấu ngoặc đơn. Không màu sắc hay hình khối. Chỉ có văn bản.

Lịch sử nói tóm lại, bằng những từ ngữ đơn giản

ASCII phát triển từ máy điện báo và máy tính thời kỳ đầu. Năm 1963, phiên bản đầu tiên đã được thống nhất. Nó giúp nhiều máy móc khác nhau giao tiếp với nhau. Với một mã chung, một chữ cái như A mang cùng một số ở mọi nơi. Điều này giúp việc gửi tin nhắn và in văn bản dễ dàng hơn.

Khi ASCII không đủ

ASCII chỉ có 128 mục. Con số này không đủ cho tất cả các ngôn ngữ. Nó không thể hiển thị tiếng Trung, tiếng Hindi, tiếng Ả Rập hoặc nhiều chữ viết khác. Nó không thể hiển thị biểu tượng cảm xúc. Nó cũng không thể hiển thị nhiều ký hiệu toán học và âm nhạc. Đối với những ký hiệu này, chúng tôi sử dụng Unicode. Unicode có thể hiển thị nhiều chữ viết và ký hiệu. UTF-8 là một cách để lưu trữ chúng. Tin tốt là tất cả văn bản ASCII đều hoạt động trong UTF-8. Vì vậy, các hệ thống hiện đại có thể dễ dàng đọc ASCII cũ.

Cách các ứng dụng xử lý ASCII ngày nay

Hầu hết các ứng dụng đều sử dụng UTF-8. Tuy nhiên, khi một tệp chỉ chứa các ký tự và ký hiệu ASCII, nó sẽ trông giống nhau dưới UTF-8. Các lập trình viên thích điều này vì nó giúp mọi thứ đơn giản hơn. Các trang web, API và nhiều công cụ sử dụng UTF-8, bao gồm ASCII mà không cần thay đổi gì.

Sự thật về số nhỏ và toán học thân thiện

ASCII là một bộ 7 bit. Điều đó có nghĩa là có tới \(2^7 = 128\) ký tự khác nhau. Một bộ mở rộng với 8 bit có \(2^8 = 256\) mục. Nếu văn bản của bạn chỉ có ký tự ASCII và có \(n\) ký tự, thì nó sẽ sử dụng \(n\) byte. Trong một thông báo nhỏ như OK , \(n = 2\) . Vì vậy, nó sử dụng 2 byte khi được lưu trữ dưới dạng ASCII hoặc UTF-8.

Nhìn thấy các ký tự ẩn

Một số mục ASCII thực hiện hành động nhưng không in ra. Dấu cách in ra khoảng trắng. Nhưng LF và CR di chuyển con trỏ. TAB nhảy. Khi chúng ta mở một tệp trong một trình soạn thảo đặc biệt, nó có thể hiển thị LF là \n. Ký hiệu đó không phải là một phần của ASCII. Đó là cách trình soạn thảo hiển thị ngắt dòng cho bạn.

Những ví dụ đơn giản nhưng có vẻ thực tế
Những điều cần chú ý
Cách các thiết bị sử dụng ASCII theo các bước đơn giản

Hãy tưởng tượng một máy in nhãn in tên. Nó đọc tên dưới dạng ký tự. Nó chuyển đổi từng ký tự thành mã ASCII. Nó lưu trữ những số đó trong bộ nhớ. Nó in các chữ cái bằng cách tra cứu cách vẽ từng số. Nếu gặp LF (10), nó sẽ chuyển sang dòng tiếp theo trước khi in tiếp.

So sánh ba cách viết mã của một ký tự

Hãy nhìn lại ký tự '!'. Ta có thể viết mã của nó theo ba cách. Thập phân: 33. Nhị phân: 00100001. Lục phân: 21. Ở dạng toán học, \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Mỗi dạng đều có cùng một giá trị. Các ứng dụng sẽ tự chọn dạng cần thiết. Mọi người thường đọc thập phân. Máy tính thích nhị phân. Lục phân là cách viết tắt để mọi người đọc số nhị phân.

Tại sao ASCII tồn tại lâu như vậy

ASCII nhỏ gọn và rõ ràng. Nó được tạo ra từ rất sớm. Nhiều công cụ và giao thức đã được xây dựng dựa trên nó. Vì 128 mã Unicode đầu tiên khớp với ASCII, nên kế hoạch này vẫn còn hiệu quả cho đến ngày nay. Đây là lý do tại sao bạn có thể mở các tệp văn bản rất cũ trên điện thoại hoặc máy tính xách tay mới và thấy các chữ cái tương tự.

Hướng dẫn ngắn gọn: đọc một tệp ngắn

Mở một tệp có văn bản "Hello" . Các byte là các số ASCII 72 101 108 108 111. Trong hệ nhị phân, chúng là 01001000 01100101 01101100 01101100 01101111. Ứng dụng sẽ đọc từng số và vẽ "Hello" trên màn hình. Nếu số tiếp theo là 10, nó sẽ chuyển sang một dòng mới trước khi vẽ thêm văn bản. Quá trình này đơn giản và ổn định như thế nào.

Khi nào nên chọn chỉ ASCII
Các ký hiệu chính mà mọi người thường sử dụng
Kiểm tra nhanh các ý tưởng bit với số nhỏ

Hãy nghĩ đến số 10. Trong hệ nhị phân, đó là 00001010. Trong hệ thập phân, đó là mười. Trong ASCII, 10 là LF, tức là xuống dòng. Điều này cho thấy cùng một số có thể được hiển thị theo nhiều cách khác nhau. Ý nghĩa của nó đến từ cách chúng ta sử dụng số đó. Nếu chúng ta nói đó là mã ký tự, thì 10 nghĩa là LF. Nếu chúng ta nói đó chỉ là số lượng táo, thì đó là mười quả táo. Ngữ cảnh rất quan trọng.

Kết hợp tất cả lại với nhau bằng một ví dụ nữa

Chúng ta sẽ gửi từ "Sun" từ thiết bị này sang thiết bị khác. Các mã là 'S' 83, 'u' 117, 'n' 110. Trong hệ nhị phân, 83 là 01010011, 117 là 01110101, 110 là 01101110. Các bit được truyền đi dưới dạng tín hiệu Bật và Tắt. Thiết bị kia chuyển các bit trở lại thành số. Sau đó, nó chuyển các số thành chữ cái. Nó hiển thị từ " Sun" . Nếu mã tiếp theo là 32, đó là một khoảng trắng. Nếu mã tiếp theo là 33, đó là '!'. Các quy tắc vẫn giữ nguyên mỗi lần. Đó chính là sức mạnh của mã chia sẻ.

Download Primer to continue