Biểu tượng Annecy Mã hóa ASCII (mã tiêu chuẩn Mỹ để trao đổi thông tin) - mã hóa văn bản cơ bản cho bảng chữ cái Latinh
Theo Liên minh Viễn thông Quốc tế, năm 2016, ba tỷ rưỡi người sử dụng Internet một cách đều đặn. Hầu hết họ thậm chí không nghĩ đến thực tế rằng bất kỳ tin nhắn nào họ gửi qua PC hoặc thiết bị di động, cũng như văn bản hiển thị trên tất cả các loại màn hình, thực chất là sự kết hợp của 0 và 1. Việc biểu diễn thông tin này được gọi là mã hóa . Nó đảm bảo và tạo điều kiện thuận lợi rất nhiều cho việc lưu trữ, xử lý và truyền tải. Năm 1963, bảng mã ASCII của Mỹ được phát triển và đây là chủ đề của bài viết này.
Trình bày thông tin trên máy tính
Theo quan điểm của bất kỳ máy tính điện tử nào, văn bản là một tập hợp các ký tự riêng lẻ. Chúng không chỉ bao gồm các chữ cái, bao gồm cả chữ in hoa, mà còn cả dấu chấm câu và số. Ngoài ra, các ký tự đặc biệt “=”, “&”, “(” và dấu cách cũng được sử dụng.
Tập hợp các ký tự tạo nên văn bản được gọi là bảng chữ cái và số lượng của chúng được gọi là số lượng (ký hiệu là N). Để xác định nó, biểu thức N = 2^b được sử dụng, trong đó b là số bit hoặc trọng số thông tin của một ký hiệu cụ thể.
Người ta đã chứng minh rằng một bảng chữ cái có dung lượng 256 ký tự có thể biểu diễn tất cả các ký tự cần thiết.
Vì 256 đại diện cho lũy thừa thứ 8 của 2 nên trọng số của mỗi ký tự là 8 bit.
Đơn vị đo 8 bit được gọi là 1 byte, vì vậy người ta thường nói rằng bất kỳ ký tự nào trong văn bản được lưu trữ trên máy tính đều chiếm một byte bộ nhớ.
Việc mã hóa được thực hiện như thế nào?
Bất kỳ văn bản nào cũng được nhập vào bộ nhớ của máy tính cá nhân bằng các phím trên bàn phím để viết số, chữ cái, dấu chấm câu và các ký hiệu khác. Chúng được chuyển sang RAM ở dạng mã nhị phân, tức là mỗi ký tự được liên kết với một mã thập phân quen thuộc với con người, từ 0 đến 255, tương ứng với mã nhị phân - từ 00000000 đến 11111111.
Mã hóa ký tự byte-byte cho phép bộ xử lý thực hiện xử lý văn bản truy cập từng ký tự riêng lẻ. Đồng thời, 256 ký tự là khá đủ để thể hiện bất kỳ thông tin tượng trưng nào.
mã hóa ký tự ASCII
Chữ viết tắt này trong tiếng Anh là viết tắt của mã trao đổi thông tin.
Ngay cả vào buổi bình minh của tin học hóa, rõ ràng là có thể nghĩ ra nhiều cách khác nhau để mã hóa thông tin. Tuy nhiên, để truyền thông tin từ máy tính này sang máy tính khác cần phải xây dựng một tiêu chuẩn thống nhất. Vì vậy, vào năm 1963, bảng mã hóa ASCII đã xuất hiện ở Mỹ. Trong đó, bất kỳ ký hiệu nào của bảng chữ cái máy tính đều được liên kết với số sê-ri của nó dưới dạng biểu diễn nhị phân. ASCII ban đầu chỉ được sử dụng ở Hoa Kỳ và sau đó trở thành tiêu chuẩn quốc tế cho PC.
Mã ASCII được chia thành 2 phần. Chỉ nửa đầu của bảng này được coi là tiêu chuẩn quốc tế. Nó bao gồm các ký tự có số sê-ri từ 0 (mã hóa là 00000000) đến 127 (mã hóa 01111111).
Số seri | mã hóa văn bản ASCII | Biểu tượng |
0000 0000 - 0001 1111 | Các ký tự có N từ 0 đến 31 được gọi là ký tự điều khiển. Chức năng của chúng là “quản lý” quá trình hiển thị văn bản trên màn hình hoặc thiết bị in, phát ra tín hiệu âm thanh, v.v. |
|
0010 0000 - 0111 1111 | Các ký tự từ N từ 32 đến 127 (phần tiêu chuẩn của bảng) - chữ in hoa và in thường của bảng chữ cái Latinh, chữ số thứ 10, dấu chấm câu, cũng như các dấu ngoặc, ký hiệu thương mại và các ký hiệu khác. Ký tự 32 đại diện cho một khoảng trắng. |
|
1000 0000 - 1111 1111 | Các ký tự có N từ 128 đến 255 (phần thay thế của bảng hoặc trang mã) có thể có các biến thể khác nhau, mỗi biến thể có số riêng. Trang mã được sử dụng để chỉ định bảng chữ cái quốc gia khác với tiếng Latin. Đặc biệt, với sự trợ giúp của nó, việc mã hóa ASCII cho các ký tự tiếng Nga đã được thực hiện. |
Trong bảng, các bảng mã được viết hoa và nối tiếp nhau theo thứ tự bảng chữ cái, các số theo thứ tự tăng dần. Nguyên tắc này vẫn được giữ nguyên đối với bảng chữ cái tiếng Nga.
Ký tự điều khiển
Bảng mã hóa ASCII ban đầu được tạo ra để nhận và truyền thông tin qua một thiết bị đã lâu không được sử dụng, chẳng hạn như máy điện báo. Về vấn đề này, các ký tự không in được đã được đưa vào bộ ký tự, được sử dụng làm lệnh để điều khiển thiết bị này. Các lệnh tương tự đã được sử dụng trong các phương thức nhắn tin tiền máy tính như mã Morse, v.v.
Ký tự teletype phổ biến nhất là NUL (00). Ngày nay nó vẫn được sử dụng trong hầu hết các ngôn ngữ lập trình để biểu thị sự kết thúc của một dòng.
Mã hóa ASCII được sử dụng ở đâu?
Mã Tiêu chuẩn Hoa Kỳ không chỉ cần thiết để nhập thông tin văn bản trên bàn phím. Nó cũng được sử dụng trong đồ họa. Đặc biệt, trong ASCII Art Maker, hình ảnh của các phần mở rộng khác nhau đại diện cho nhiều ký tự ASCII.
Có hai loại sản phẩm như vậy: loại thực hiện chức năng của trình chỉnh sửa đồ họa bằng cách chuyển đổi hình ảnh thành văn bản và loại chuyển đổi “bản vẽ” thành đồ họa ASCII. Ví dụ: biểu tượng cảm xúc nổi tiếng là ví dụ điển hình về ký hiệu mã hóa.
ASCII cũng có thể được sử dụng khi tạo tài liệu HTML. Trong trường hợp này, bạn có thể nhập một bộ ký tự nhất định và khi xem trang, một biểu tượng tương ứng với mã này sẽ xuất hiện trên màn hình.
ASCII cũng cần thiết để tạo các trang web đa ngôn ngữ, vì các ký tự không có trong bảng quốc gia cụ thể sẽ được thay thế bằng mã ASCII.
Một số tính năng
ASCII ban đầu được sử dụng để mã hóa thông tin văn bản bằng 7 bit (một bit để trống), nhưng ngày nay nó hoạt động ở mức 8 bit.
Các chữ cái nằm trong các cột nằm ở trên và dưới chỉ khác nhau ở một bit duy nhất. Điều này làm giảm đáng kể sự phức tạp của cuộc kiểm toán.
Sử dụng ASCII trong Microsoft Office
Nếu cần, loại mã hóa thông tin văn bản này có thể được sử dụng trong các trình soạn thảo văn bản của Microsoft như Notepad và Office Word. Tuy nhiên, bạn có thể không sử dụng được một số chức năng khi gõ trong trường hợp này. Ví dụ: bạn sẽ không thể sử dụng văn bản in đậm vì mã hóa ASCII chỉ bảo tồn ý nghĩa của thông tin mà bỏ qua hình thức và hình thức tổng thể của nó.
Tiêu chuẩn hóa
Tổ chức ISO đã áp dụng tiêu chuẩn ISO 8859. Nhóm này xác định mã hóa 8 bit cho các nhóm ngôn ngữ khác nhau. Cụ thể, ISO 8859-1 là bảng ASCII mở rộng dành cho Hoa Kỳ và các nước Tây Âu. Và ISO 8859-5 là bảng dùng cho bảng chữ cái Cyrillic, bao gồm cả tiếng Nga.
Vì một số lý do lịch sử, tiêu chuẩn ISO 8859-5 đã được sử dụng trong một thời gian rất ngắn.
Đối với tiếng Nga, các bảng mã sau đây thực sự được sử dụng vào thời điểm hiện tại:
- CP866 (Mã trang 866) hoặc DOS, thường được gọi là mã hóa GOST thay thế. Nó được sử dụng tích cực cho đến giữa những năm 90 của thế kỷ trước. Hiện tại nó thực tế không được sử dụng.
- KOI-8. Mã hóa được phát triển vào những năm 1970 và 80 và hiện là tiêu chuẩn được chấp nhận rộng rãi cho các email trên RuNet. Nó được sử dụng rộng rãi trong các hệ điều hành Unix, bao gồm cả Linux. Phiên bản KOI-8 của Nga được gọi là KOI-8R. Ngoài ra, còn có các phiên bản dành cho các ngôn ngữ Cyrillic khác, chẳng hạn như tiếng Ukraina.
- Mã trang 1251 (CP 1251, Windows - 1251).Được phát triển bởi Microsoft để cung cấp hỗ trợ cho ngôn ngữ tiếng Nga trong môi trường Windows.
Ưu điểm chính của tiêu chuẩn CP866 đầu tiên là bảo toàn các ký tự giả ở cùng vị trí như trong Extended ASCII. Điều này giúp có thể chạy các chương trình văn bản do nước ngoài sản xuất, chẳng hạn như Norton Commander nổi tiếng mà không cần sửa đổi. Hiện tại, CP866 được sử dụng cho các chương trình được phát triển cho Windows chạy ở chế độ văn bản toàn màn hình hoặc trong cửa sổ văn bản, bao gồm cả Trình quản lý FAR.
Ngày nay, văn bản máy tính được viết bằng mã hóa CP866 khá hiếm, nhưng nó là văn bản được sử dụng cho tên tệp tiếng Nga trong Windows.
"Unicode"
Hiện tại, mã hóa này được sử dụng rộng rãi nhất. Mã Unicode được chia thành các khu vực. Đầu tiên (U+0000 đến U+007F) bao gồm các ký tự ASCII có mã. Tiếp theo là các khu vực ký tự của các chữ viết quốc gia khác nhau, cũng như các dấu câu và ký hiệu kỹ thuật. Ngoài ra, một số mã Unicode được dự trữ trong trường hợp có nhu cầu đưa vào các ký tự mới trong tương lai.
Bây giờ bạn biết rằng trong ASCII, mỗi ký tự được biểu diễn dưới dạng kết hợp của 8 số 0 và 1. Đối với những người không phải là chuyên gia, thông tin này có vẻ không cần thiết và không thú vị, nhưng bạn có muốn biết điều gì đang diễn ra “trong não” PC của mình không?!
Tháng mười hai | lục giác | Biểu tượng | Tháng mười hai | lục giác | Biểu tượng | |
000 | 00 | chuyên gia. KHÔNG | 128 | 80 | Ђ | |
001 | 01 | chuyên gia. SOH | 129 | 81 | Ѓ | |
002 | 02 | chuyên gia. STX | 130 | 82 | ‚ | |
003 | 03 | chuyên gia. ETX | 131 | 83 | ѓ | |
004 | 04 | chuyên gia. EOT | 132 | 84 | „ | |
005 | 05 | chuyên gia. ENQ | 133 | 85 | … | |
006 | 06 | chuyên gia. ACK | 134 | 86 | † | |
007 | 07 | chuyên gia. BEL | 135 | 87 | ‡ | |
008 | 08 | chuyên gia. B.S. | 136 | 88 | € | |
009 | 09 | chuyên gia. CHUYỂN HƯỚNG | 137 | 89 | ‰ | |
010 | 0A | chuyên gia. LF | 138 | 8A | Љ | |
011 | 0B | chuyên gia. VT | 139 | 8B | ‹ ‹ | |
012 | 0C | chuyên gia. FF | 140 | 8C | Њ | |
013 | 0D | chuyên gia. CR | 141 | 8D | Ќ | |
014 | 0E | chuyên gia. VÌ THẾ | 142 | 8E | Ћ | |
015 | 0F | chuyên gia. S.I. | 143 | 8F | Џ | |
016 | 10 | chuyên gia. DLE | 144 | 90 | ђ | |
017 | 11 | chuyên gia. DC1 | 145 | 91 | ‘ | |
018 | 12 | chuyên gia. DC2 | 146 | 92 | ’ | |
019 | 13 | chuyên gia. DC3 | 147 | 93 | “ | |
020 | 14 | chuyên gia. DC4 | 148 | 94 | ” | |
021 | 15 | chuyên gia. N.A.K. | 149 | 95 | ||
022 | 16 | chuyên gia. SYN | 150 | 96 | – | |
023 | 17 | chuyên gia. ETB | 151 | 97 | — | |
024 | 18 | chuyên gia. CÓ THỂ | 152 | 98 | ||
025 | 19 | chuyên gia. E.M. | 153 | 99 | ™ | |
026 | 1A | chuyên gia. PHỤ | 154 | 9A | љ | |
027 | 1B | chuyên gia. THOÁT | 155 | 9B | › | |
028 | 1C | chuyên gia. FS | 156 | 9C | њ | |
029 | 1D | chuyên gia. G.S. | 157 | 9D | ќ | |
030 | 1E | chuyên gia. R.S. | 158 | 9E | ћ | |
031 | 1F | chuyên gia. CHÚNG TA | 159 | 9F | џ | |
032 | 20 | ly hợp SP (Không gian) | 160 | A0 | ||
033 | 21 | ! | 161 | A1 | Ў | |
034 | 22 | " | 162 | A2 | ў | |
035 | 23 | # | 163 | A3 | Ћ | |
036 | 24 | $ | 164 | A4 | ¤ | |
037 | 25 | % | 165 | A5 | Ґ | |
038 | 26 | & | 166 | A6 | ¦ | |
039 | 27 | " | 167 | A7 | § | |
040 | 28 | ( | 168 | A8 | yo | |
041 | 29 | ) | 169 | A9 | © | |
042 | 2A | * | 170 | A.A. | Є | |
043 | 2B | + | 171 | AB | « | |
044 | 2C | , | 172 | AC. | ¬ | |
045 | 2D | - | 173 | QUẢNG CÁO | | |
046 | 2E | . | 174 | A.E. | ® | |
047 | 2F | / | 175 | A. F. | Ї | |
048 | 30 | 0 | 176 | B0 | ° | |
049 | 31 | 1 | 177 | B1 | ± | |
050 | 32 | 2 | 178 | B2 | І | |
051 | 33 | 3 | 179 | B3 | і | |
052 | 34 | 4 | 180 | B 4 | ґ | |
053 | 35 | 5 | 181 | B5 | µ | |
054 | 36 | 6 | 182 | B6 | ¶ | |
055 | 37 | 7 | 183 | B7 | · | |
056 | 38 | 8 | 184 | B8 | e | |
057 | 39 | 9 | 185 | B9 | № | |
058 | 3A | : | 186 | BA. | є | |
059 | 3B | ; | 187 | BB | » | |
060 | 3C | < | 188 | BC | ј | |
061 | 3D | = | 189 | BD | Ѕ | |
062 | 3E | > | 190 | LÀ | ѕ | |
063 | 3F | ? | 191 | B.F. | ї | |
064 | 40 | @ | 192 | C0 | MỘT | |
065 | 41 | MỘT | 193 | C1 | B | |
066 | 42 | B | 194 | C2 | TRONG | |
067 | 43 | C | 195 | C3 | G | |
068 | 44 | D | 196 | C4 | D | |
069 | 45 | E | 197 | C5 | E | |
070 | 46 | F | 198 | C 6 | VÀ | |
071 | 47 | G | 199 | C7 | Z | |
072 | 48 | H | 200 | C8 | VÀ | |
073 | 49 | TÔI | 201 | C9 | Y | |
074 | 4A | J | 202 | CA | ĐẾN | |
075 | 4B | K | 203 | C.B. | L | |
076 | 4C | L | 204 | CC | M | |
077 | 4D | M | 205 | đĩa CD | N | |
078 | 4E | N | 206 | C.E. | VỀ | |
079 | 4F | ồ | 207 | CF | P | |
080 | 50 | P | 208 | D0 | R | |
081 | 51 | Q | 209 | D1 | VỚI | |
082 | 52 | R | 210 | D2 | T | |
083 | 53 | S | 211 | D3 | bạn | |
084 | 54 | T | 212 | D4 | F | |
085 | 55 | bạn | 213 | D5 | X | |
086 | 56 | V. | 214 | D6 | C | |
087 | 57 | W | 215 | D7 | H | |
088 | 58 | X | 216 | D8 | Sh | |
089 | 59 | Y | 217 | D9 | SCH | |
090 | 5A | Z | 218 | D.A. | Kommersant | |
091 | 5B | [ | 219 | D.B. | Y | |
092 | 5C | \ | 220 | DC | b | |
093 | 5D | ] | 221 | ĐĐ | E | |
094 | 5E | ^ | 222 | DE | YU | |
095 | 5F | _ | 223 | DF | TÔI | |
096 | 60 | ` | 224 | E0 | MỘT | |
097 | 61 | Một | 225 | E1 | b | |
098 | 62 | b | 226 | E2 | V. | |
099 | 63 | c | 227 | E3 | G | |
100 | 64 | d | 228 | E 4 | d | |
101 | 65 | e | 229 | E5 | e | |
102 | 66 | f | 230 | E6 | Và | |
103 | 67 | g | 231 | E7 | h | |
104 | 68 | h | 232 | E8 | Và | |
105 | 69 | Tôi | 233 | E9 | quần què | |
106 | 6A | j | 234 | E.A. | ĐẾN | |
107 | 6B | k | 235 | E.B. | tôi | |
108 | 6C | tôi | 236 | E.C. | tôi | |
109 | 6D | tôi | 237 | ED | N | |
110 | 6E | N | 238 | EE | ồ | |
111 | 6F | ồ | 239 | E. F. | P | |
112 | 70 | P | 240 | F0 | R | |
113 | 71 | q | 241 | F1 | Với | |
114 | 72 | r | 242 | F2 | T | |
115 | 73 | S | 243 | F3 | Tại | |
116 | 74 | t | 244 | F4 | f | |
117 | 75 | bạn | 245 | F5 | X | |
118 | 76 | v | 246 | F6 | ts | |
119 | 77 | w | 247 | F7 | h | |
120 | 78 | x | 248 | F8 | w | |
121 | 79 | y | 249 | F9 | học | |
122 | 7A | z | 250 | F.A. | ъ | |
123 | 7B | { | 251 | FB | S | |
124 | 7C | | | 252 | F.C. | b | |
125 | 7D | } | 253 | FD | ừ | |
126 | 7E | ~ | 254 | F.E. | Yu | |
127 | 7F | Chuyên gia. DEL | 255 | FF | TÔI |
Bảng mã ký tự ASCII Windows.
Mô tả các ký tự (điều khiển) đặc biệt
Cần lưu ý rằng các ký tự điều khiển bảng ASCII ban đầu được sử dụng để đảm bảo trao đổi dữ liệu qua máy đánh chữ từ xa, nhập dữ liệu từ băng đục lỗ và để điều khiển đơn giản các thiết bị bên ngoài. Hiện tại, hầu hết các ký tự điều khiển bảng ASCII không còn mang tải này nữa và có thể được sử dụng cho các mục đích khác.
Mã số | Sự miêu tả |
---|---|
NUL, 00 | Không, trống rỗng |
SOH, 01 | Bắt đầu tiêu đề |
STX, 02 | Bắt đầu TeXt, phần đầu của văn bản. |
ETX, 03 | Cuối TeXt, cuối văn bản |
EOT, 04 | Kết thúc truyền tải |
ENQ, 05 | Hỏi thăm. Vui lòng xác nhận |
ACK, 06 | Nhìn nhận. tôi xác nhận |
BEL, 07 | Chuông, gọi |
BS, 08 | Backspace, quay lại một ký tự |
TAB, 09 | Tab, tab ngang |
LF, 0A | Nguồn cấp dữ liệu, nguồn cấp dữ liệu. Ngày nay trong hầu hết các ngôn ngữ lập trình, nó được ký hiệu là \n |
VT, 0B | Tab dọc, lập bảng dọc. |
FF, 0C | Nguồn cấp dữ liệu biểu mẫu, nguồn cấp dữ liệu trang, trang mới |
CR, 0D | Vận chuyển trở lại, vận chuyển trở lại. Ngày nay trong hầu hết các ngôn ngữ lập trình, nó được ký hiệu là \r |
SO,0E | Shift Out, đổi màu ribbon mực trong máy in |
SI,0F | Shift In, trả lại màu ruy băng mực trong thiết bị in |
DLE, 10 | Thoát liên kết dữ liệu, chuyển kênh sang truyền dữ liệu |
DC1, 11 DC2, 12 DC3, 13 DC4, 14 | Điều khiển thiết bị, ký hiệu điều khiển thiết bị |
NAK, 15 | Xác nhận tiêu cực, tôi không xác nhận. |
SYN, 16 | Đồng bộ hóa. Biểu tượng đồng bộ hóa |
ETB, 17 | Kết thúc khối văn bản, kết thúc khối văn bản |
CÓ THỂ, 18 | Hủy, hủy đã chuyển trước đó |
EM, 19 | Kết thúc phương tiện |
PHỤ, 1A | Thay thế, thay thế. Được đặt thay cho một biểu tượng có ý nghĩa bị mất hoặc bị sai lệch trong quá trình truyền tải |
ESC, 1B | Trình tự kiểm soát thoát hiểm |
FS, 1C | Trình phân tách tệp, trình phân tách tệp |
GS, 1D | Dấu tách nhóm |
RS, 1E | Dấu tách bản ghi, dấu tách bản ghi |
Mỹ, 1F | Dấu phân cách đơn vị |
DEL, 7F | Xóa, xóa ký tự cuối cùng. |
Như bạn đã biết, máy tính lưu trữ thông tin ở dạng nhị phân, biểu diễn nó dưới dạng một chuỗi các số 1 và 0. Để chuyển thông tin sang dạng thuận tiện cho nhận thức của con người, mỗi dãy số duy nhất được thay thế bằng ký hiệu tương ứng khi hiển thị.
Một trong những hệ thống tương quan mã nhị phân với các ký tự được in và điều khiển là
Ở trình độ phát triển của công nghệ máy tính hiện nay, người dùng không bắt buộc phải biết mã của từng ký tự cụ thể. Tuy nhiên, sự hiểu biết chung về cách thực hiện mã hóa là cực kỳ hữu ích và thậm chí còn cần thiết đối với một số chuyên gia.
Tạo ASCII
Mã hóa ban đầu được phát triển vào năm 1963 và sau đó được cập nhật hai lần trong suốt 25 năm.
Trong phiên bản gốc, bảng ký tự ASCII bao gồm 128 ký tự; sau đó một phiên bản mở rộng xuất hiện, trong đó 128 ký tự đầu tiên được lưu lại và các ký tự bị thiếu trước đó được gán cho các mã có liên quan đến bit thứ tám.
Trong nhiều năm, mã hóa này là phổ biến nhất trên thế giới. Năm 2006, Latin 1252 chiếm vị trí dẫn đầu và từ cuối năm 2007 đến nay, Unicode vẫn giữ vững vị trí dẫn đầu.
Biểu diễn máy tính của ASCII
Mỗi ký tự ASCII có mã riêng, gồm 8 ký tự biểu thị số 0 hoặc số 1. Số tối thiểu trong biểu diễn này là 0 (tám số 0 trong hệ nhị phân), là mã của phần tử đầu tiên trong bảng.
Hai mã trong bảng được dành riêng để chuyển đổi giữa US-ASCII tiêu chuẩn và biến thể quốc gia của nó.
Sau khi ASCII bắt đầu không bao gồm 128 mà là 256 ký tự, một biến thể mã hóa đã trở nên phổ biến, trong đó phiên bản gốc của bảng được lưu trữ trong 128 mã đầu tiên với bit thứ 8 bằng 0. Ký tự quốc gia được lưu trữ ở nửa trên của bảng (vị trí 128-255).
Người dùng không cần biết trực tiếp mã ký tự ASCII. Nhà phát triển phần mềm thường chỉ cần biết số phần tử trong bảng để tính mã của nó bằng hệ nhị phân nếu cần thiết.
Ngôn ngữ Nga
Sau khi phát triển bảng mã cho các ngôn ngữ Scandinavi, tiếng Trung, tiếng Hàn, tiếng Hy Lạp, v.v. vào đầu những năm 70, Liên Xô bắt đầu tạo ra phiên bản của riêng mình. Chẳng bao lâu sau, một phiên bản mã hóa 8 bit có tên KOI8 đã được phát triển, bảo toàn 128 mã ký tự ASCII đầu tiên và phân bổ cùng số vị trí cho các chữ cái trong bảng chữ cái quốc gia và các ký tự bổ sung.
Trước khi Unicode ra đời, KOI8 đã thống trị phân khúc Internet ở Nga. Có các tùy chọn mã hóa cho cả bảng chữ cái tiếng Nga và tiếng Ukraina.
vấn đề về ASCII
Vì số phần tử ngay cả trong bảng mở rộng cũng không vượt quá 256 nên không có khả năng chứa nhiều tập lệnh khác nhau trong một bảng mã. Vào những năm 90, vấn đề “crocozyabr” xuất hiện trên Runet, khi các văn bản gõ bằng ký tự ASCII tiếng Nga hiển thị không chính xác.
Vấn đề là các mã ASCII khác nhau không khớp với nhau. Chúng ta hãy nhớ rằng các ký tự khác nhau có thể nằm ở các vị trí 128-255 và khi thay đổi một mã hóa Cyrillic này sang một mã hóa Cyrillic khác, tất cả các chữ cái của văn bản sẽ được thay thế bằng các ký tự khác có số giống hệt nhau trong một phiên bản mã hóa khác.
Tình trạng hiện tại
Với sự ra đời của Unicode, mức độ phổ biến của ASCII bắt đầu giảm mạnh.
Lý do cho điều này nằm ở chỗ cách mã hóa mới có thể chứa các ký tự từ hầu hết các ngôn ngữ viết. Trong trường hợp này, 128 ký tự ASCII đầu tiên tương ứng với các ký tự giống nhau trong Unicode.
Năm 2000, ASCII là mã hóa phổ biến nhất trên Internet và được sử dụng trên 60% trang web được Google lập chỉ mục. Đến năm 2012, tỷ lệ các trang như vậy đã giảm xuống còn 17% và Unicode (UTF-8) đã thay thế mã hóa phổ biến nhất.
Vì vậy, ASCII là một phần quan trọng trong lịch sử công nghệ thông tin, nhưng việc sử dụng nó trong tương lai dường như không mấy hứa hẹn.
Lớp phủ ký tự
Ký tự BS (backspace) cho phép máy in in một ký tự lên trên ký tự khác. ASCII cung cấp khả năng thêm dấu phụ vào các chữ cái theo cách này, ví dụ:
- a BS "→ á
- a BS ` → à
- a BS ^ → â
- o BS / → ø
- c BS , → ç
- n BS ~ → с
Ghi chú: trong các phông chữ cũ, dấu nháy đơn " được vẽ nghiêng sang trái và dấu ngã ~ được dịch chuyển lên trên, vì vậy chúng chỉ phù hợp với vai trò của dấu thăng và dấu ngã ở trên.
Nếu chồng cùng một ký tự lên một ký tự thì kết quả là hiệu ứng phông chữ đậm, còn nếu chồng ký tự gạch chân lên một ký tự thì kết quả là văn bản được gạch chân.
- một BS một → Một
- aBS_→ Một
Ghi chú: Ví dụ, điều này được sử dụng trong hệ thống trợ giúp con người.
Các biến thể ASCII quốc gia
Tiêu chuẩn ISO 646 (ECMA-6) cung cấp khả năng đặt các biểu tượng quốc gia tại chỗ @ [ \ ] ^ ` { | } ~ . Ngoài ra, tại chỗ # có thể được đăng £ , và tại chỗ $ - ¤ . Hệ thống này rất phù hợp với các ngôn ngữ châu Âu, nơi chỉ cần thêm một vài ký tự. Phiên bản ASCII không có ký tự quốc gia được gọi là US-ASCII hoặc "Phiên bản tham chiếu quốc tế".
Sau đó, hóa ra sẽ thuận tiện hơn khi sử dụng mã hóa 8 bit (trang mã), trong đó nửa dưới của bảng mã (0-127) được chiếm bởi các ký tự US-ASCII và nửa trên (128-255) bằng các ký tự bổ sung, bao gồm cả bộ ký tự quốc gia. Do đó, nửa trên của bảng ASCII, trước khi sử dụng rộng rãi Unicode, đã được sử dụng tích cực để thể hiện các ký tự, chữ cái được bản địa hóa của ngôn ngữ địa phương. Việc thiếu một tiêu chuẩn thống nhất để đặt các ký tự Cyrillic trong bảng ASCII đã gây ra nhiều vấn đề về mã hóa (KOI-8, Windows-1251 và các loại khác). Các ngôn ngữ khác không có chữ viết Latinh cũng gặp phải một số cách mã hóa khác nhau.
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .MỘT | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | KHÔNG | SOM | EOA | EOM | EQT | W.R.U. | RU | CHUÔNG | BKSP | HT | LF | VT | FF | CR | VÌ THẾ | S.I. |
1. | DC 0 | DC 1 | DC 2 | DC 3 | DC 4 | LỖI | ĐỒNG BỘ HÓA | L.E.M. | S 0 | S 1 | S2 | S 3 | S 4 | S 5 | S6 | S7 |
2. | ||||||||||||||||
3. | ||||||||||||||||
4. | TRỐNG | ! | " | # | $ | % | & | " | ( | ) | * | + | , | - | . | / |
5. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
6. | ||||||||||||||||
7. | ||||||||||||||||
8. | ||||||||||||||||
9. | ||||||||||||||||
MỘT. | @ | MỘT | B | C | D | E | F | G | H | TÔI | J | K | L | M | N | ồ |
B. | P | Q | R | S | T | bạn | V. | W | X | Y | Z | [ | \ | ] | ← | |
C. | ||||||||||||||||
D. | ||||||||||||||||
E. | Một | b | c | d | e | f | g | h | Tôi | j | k | tôi | tôi | N | ồ | |
F. | P | q | r | S | t | bạn | v | w | x | y | z | THOÁT | DEL |
Trên những máy tính có đơn vị bộ nhớ có thể định địa chỉ tối thiểu là từ 36 bit, ban đầu các ký tự 6 bit được sử dụng (1 từ = 6 ký tự). Sau khi chuyển đổi sang ASCII, các máy tính như vậy bắt đầu chứa 5 ký tự 7 bit (còn lại 1 bit) hoặc 4 ký tự 9 bit trong một từ.
Mã ASCII cũng được sử dụng để xác định phím nào được nhấn trong khi lập trình. Đối với bàn phím QWERTY tiêu chuẩn, bảng mã trông như sau:
Tập hợp các ký tự dùng để viết văn bản được gọi là bảng chữ cái. Số ký tự trong bảng chữ cái là quyền lực. Công thức xác định lượng thông tin: N=2b, trong đó N là lũy thừa của bảng chữ cái (số ký tự), b – số bit (trọng lượng thông tin của ký hiệu). Bảng chữ cái có dung lượng 256 ký tự có thể chứa hầu hết các ký tự cần thiết. Bảng chữ cái này được gọi là hợp lý. Bởi vì 256 = 2 8 thì trọng số của 1 ký tự là 8 bit. Đơn vị đo 8 bit được đặt tên 1 byte: 1 byte = 8 bit. Mã nhị phân của mỗi ký tự trong văn bản máy tính chiếm 1 byte bộ nhớ. Thông tin văn bản được thể hiện như thế nào trong bộ nhớ máy tính?Sự tiện lợi của việc mã hóa ký tự theo từng byte là rõ ràng vì byte là phần bộ nhớ có thể định địa chỉ nhỏ nhất và do đó, bộ xử lý có thể truy cập từng ký tự riêng biệt khi xử lý văn bản. Mặt khác, 256 ký tự là con số khá đủ để thể hiện nhiều loại thông tin biểu tượng. Bây giờ câu hỏi đặt ra là mã nhị phân 8 bit nào để gán cho mỗi ký tự.Rõ ràng đây là vấn đề có điều kiện; bạn có thể nghĩ ra nhiều phương pháp mã hóa. Tất cả các ký tự trong bảng chữ cái máy tính được đánh số từ 0 đến 255. Mỗi số tương ứng với một mã nhị phân 8 bit từ 00000000 đến 11111111. Mã này đơn giản là số sê-ri của ký tự trong hệ thống số nhị phân. Một bảng trong đó tất cả các ký tự trong bảng chữ cái máy tính được gán số thứ tự được gọi là bảng mã hóa.Các loại máy tính khác nhau sử dụng các bảng mã hóa khác nhau. Chiếc bàn đã trở thành tiêu chuẩn quốc tế cho PC ASCII(đọc aski) (Mã tiêu chuẩn Mỹ về trao đổi thông tin). Bảng mã ASCII được chia thành hai phần. Chỉ nửa đầu của bảng là tiêu chuẩn quốc tế, tức là ký hiệu có số từ 0 (00000000), tối đa 127 (01111111). Cấu trúc bảng mã hóa ASCII
Nửa đầu của bảng mã ASCII
Xin lưu ý rằng trong bảng mã hóa, các chữ cái (chữ hoa và chữ thường) được sắp xếp theo thứ tự bảng chữ cái và các số được sắp xếp theo thứ tự tăng dần. Việc tuân thủ thứ tự từ điển trong việc sắp xếp các ký hiệu này được gọi là nguyên tắc mã hóa tuần tự của bảng chữ cái. Đối với các chữ cái trong bảng chữ cái tiếng Nga, nguyên tắc mã hóa tuần tự cũng được tuân thủ. Nửa sau của bảng mã ASCII![]() Thật không may, hiện có năm bảng mã Cyrillic khác nhau (KOI8-R, Windows. MS-DOS, Macintosh và ISO). Vì điều này, các vấn đề thường nảy sinh khi chuyển văn bản tiếng Nga từ máy tính này sang máy tính khác, từ hệ thống phần mềm này sang hệ thống phần mềm khác. Theo thời gian, một trong những tiêu chuẩn đầu tiên để mã hóa các chữ cái tiếng Nga trên máy tính là KOI8 ("Mã trao đổi thông tin, 8-bit"). Mã hóa này đã được sử dụng từ những năm 70 trên các máy tính thuộc dòng máy tính ES và từ giữa những năm 80, nó bắt đầu được sử dụng trong các phiên bản Nga hóa đầu tiên của hệ điều hành UNIX. Từ đầu những năm 90, thời điểm hệ điều hành MS DOS thống trị, bảng mã CP866 vẫn được giữ nguyên ("CP" có nghĩa là "Trang mã", "trang mã"). Máy tính Apple chạy hệ điều hành Mac OS sử dụng mã hóa Mac của riêng họ. Ngoài ra, Tổ chức Tiêu chuẩn Quốc tế (ISO) đã phê duyệt một bảng mã khác gọi là ISO 8859-5 làm tiêu chuẩn cho tiếng Nga. Mã hóa phổ biến nhất hiện nay được sử dụng là Microsoft Windows, viết tắt CP1251. Từ cuối những năm 90, vấn đề chuẩn hóa bảng mã ký tự đã được giải quyết bằng sự ra đời của một tiêu chuẩn quốc tế mới mang tên bảng mã Unicode. Đây là mã hóa 16 bit, tức là nó phân bổ 2 byte bộ nhớ cho mỗi ký tự. Tất nhiên, điều này làm tăng dung lượng bộ nhớ bị chiếm dụng lên gấp 2 lần. Nhưng bảng mã như vậy cho phép bao gồm tối đa 65536 ký tự. Đặc tả đầy đủ của tiêu chuẩn Unicode bao gồm tất cả các bảng chữ cái hiện có, đã tuyệt chủng và được tạo ra một cách nhân tạo trên thế giới, cũng như nhiều ký hiệu toán học, âm nhạc, hóa học và các ký hiệu khác. Hãy thử sử dụng bảng ASCII để tưởng tượng các từ sẽ trông như thế nào trong bộ nhớ máy tính.Biểu diễn nội bộ của các từ trong bộ nhớ máy tínhĐôi khi, điều đó xảy ra là không thể đọc được văn bản bao gồm các chữ cái trong bảng chữ cái tiếng Nga nhận được từ một máy tính khác - một loại "abracadabra" nào đó hiển thị trên màn hình điều khiển. Điều này xảy ra vì máy tính sử dụng các bảng mã ký tự khác nhau cho tiếng Nga. |