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 0Achuyên gia. LF 138 8AЉ
011 0Bchuyên gia. VT 139 8B‹ ‹
012 0Cchuyên gia. FF 140 8CЊ
013 0Dchuyên gia. CR 141 8DЌ
014 0Echuyên gia. VÌ THẾ 142 8EЋ
015 0Fchuyê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 1Achuyên gia. PHỤ 154 9Aљ
027 1Bchuyên gia. THOÁT 155 9B
028 1Cchuyên gia. FS 156 9Cњ
029 1Dchuyên gia. G.S. 157 9Dќ
030 1Echuyên gia. R.S. 158 9Eћ
031 1Fchuyê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 A8yo
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 B8e
057 39 9 185 B9
058 3A: 186 BA.є
059 3B; 187 BB»
060 3C< 188 BCј
061 3D= 189 BDЅ
062 3E> 190 ѕ
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
071 47 G 199 C7 Z
072 48 H 200 C8
073 49 TÔI 201 C9 Y
074 4AJ 202 CA ĐẾN
075 4BK 203 C.B. L
076 4CL 204 CC M
077 4DM 205 đĩa CD N
078 4EN 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 5AZ 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
103 67 g 231 E7 h
104 68 h 232 E8
105 69 Tôi 233 E9 quần què
106 6Aj 234 E.A. ĐẾN
107 6Bk 235 E.B. tôi
108 6Ctôi 236 E.C. tôi
109 6Dtôi 237 ED N
110 6EN 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 7Az 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 7FChuyê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, 00Không, trống rỗng
SOH, 01Bắt đầu tiêu đề
STX, 02Bắt đầu TeXt, phần đầu của văn bản.
ETX, 03Cuối TeXt, cuối văn bản
EOT, 04Kết thúc truyền tải
ENQ, 05Hỏi thăm. Vui lòng xác nhận
ACK, 06Nhìn nhận. tôi xác nhận
BEL, 07Chuông, gọi
BS, 08Backspace, quay lại một ký tự
TAB, 09Tab, tab ngang
LF, 0ANguồ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, 0BTab dọc, lập bảng dọc.
FF, 0CNguồn cấp dữ liệu biểu mẫu, nguồn cấp dữ liệu trang, trang mới
CR, 0DVậ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,0EShift Out, đổi màu ribbon mực trong máy in
SI,0FShift In, trả lại màu ruy băng mực trong thiết bị in
DLE, 10Thoá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, 15Xá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, 17Kết thúc khối văn bản, kết thúc khối văn bản
CÓ THỂ, 18Hủy, hủy đã chuyển trước đó
EM, 19Kết thúc phương tiện
PHỤ, 1AThay 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, 1BTrình tự kiểm soát thoát hiểm
FS, 1CTrình phân tách tệp, trình phân tách tệp
GS, 1DDấu tách nhóm
RS, 1EDấu tách bản ghi, dấu tách bản ghi
Mỹ, 1FDấu phân cách đơn vị
DEL, 7FXó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

Số seri

Mã số

Biểu tượng

0 - 31

00000000 - 00011111

Các ký hiệu có số từ 0 đến 31 thường được gọi là ký hiệu điều khiển.
Chức năng của chúng là điều khiển quá trình hiển thị văn bản trên màn hình hoặc in ấn, phát ra tín hiệu âm thanh, đánh dấu văn bản, v.v.

32 - 127

00100000 - 01111111

Phần tiêu chuẩn của bảng (tiếng Anh). Điều này bao gồm chữ thường và chữ in hoa của bảng chữ cái Latinh, số thập phân, dấu chấm câu, tất cả các loại dấu ngoặc, ký hiệu thương mại và các ký hiệu khác.
Ký tự 32 là một khoảng trắng, tức là vị trí trống trong văn bản.
Tất cả những người khác được phản ánh trong các dấu hiệu nhất định.

128 - 255

10000000 - 11111111

Phần thay thế của bảng (tiếng Nga).
Nửa sau của bảng mã ASCII, gọi là trang mã (128 mã, bắt đầu từ 10000000 và kết thúc bằng 11111111), có thể có các tùy chọn khác nhau, mỗi tùy chọn có số riêng.
Trang mã chủ yếu được sử dụng để chứa các bảng chữ cái quốc gia khác ngoài tiếng Latinh. Trong bảng mã quốc gia của Nga, các ký tự trong bảng chữ cái tiếng Nga được đặt trong phần này của bảng.

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.