← Quay lại
16 tháng 12, 2025 14 phút đọc

Chương 3: Braille và Mã nhị phân

Samuel Morse không phải là người đầu tiên thành công trong việc chuyển chữ viết thành mã dịch được và cũng không phải cái tên đầu tiên được gán cho mã mà còn nổi tiếng hơn cả người thật. Vinh dự đó phải được dành cho một thiếu niên mù người Pháp sinh sau Morse 18 năm nhưng lại là người để lại dấu ấn sâu sắc lạ thường ngay từ khi còn trẻ. Người ta không biết nhiều về cậu, nhưng chính những gì biết được ấy lại viết nên một câu chuyện li kì hấp dẫn.

Louis Braille chào đời năm 1809 ở Coupvray, Pháp, cách Paris 25 dặm (1 dặm = 1,6 km) về hướng đông. Bố cậu là thợ đóng yên. Lúc lên ba – cái tuổi mà trẻ con không được phép chơi trong xưởng của bố chúng – cậu bé vô tình thọc một vật nhọn vào mắt. Vết thương bắt đầu nhiễm trùng rồi lan sang cả con mắt còn lại, làm cậu bé mù hoàn toàn. Đa phần ai ở thời đó gặp phải cảnh này sẽ phải chịu cảnh nghèo túng và dốt nát, thế nhưng sự thông minh và ham học của chàng Louis trẻ sớm được phát lộ. Thông qua sự can thiệp của mục sư và thầy giáo, cậu được vào học trong một trường làng cùng những trẻ khác và khi lên 10 đã được chuyển đến trường dòng cho trẻ em mù Paris (Royal Institution for Blind Young in Paris).

Louis Braille


Trở ngại chính của người mù khi học là do mất khả năng đọc sách. Valentin Haüy (1745-1822), nhà sáng lập trường học Pháp, đã phát minh ra hệ thống chữ nổi trên giấy có thể đọc được bằng cách sờ. Nhưng hệ thống này rất khó dùng, và chỉ một vài cuốn sách được xuất bản theo đó.

Tầm nhìn của Haüy bị mắc kẹt trong khuôn mẫu. Với ông, chữ A là chữ A và nó phải trông (hay cảm nhận) như chữ A (Nếu được cho một cái đèn pin để nói chuyện, ông sẽ cố vẽ các chữ cái trên không như ta đã làm trước khi nhận ra là nó không hiệu quả). Haüy có lẽ đã không nhận ra rằng một loại mã khác với chữ dập nổi sẽ phù hợp hơn với những người khiếm thị.

Phiên bản đầu tiên của kiểu mã thay thế đến từ một nơi ít ai ngờ. Charles Barbier, một vị tướng của quân đội Pháp, vào năm 1819 đã phát minh ra một hệ thống viết mà ông gọi là écriture nocturnehay “viết trong đêm”. Hệ thống này dùng một khuôn mẫu những dấu chấm nổi trên giấy cứng, được chủ ý dùng cho binh sĩ chuyền tay nhau các bản ghi chú trong bóng tối khi sự im lặng là cần thiết. Các binh lính có thể chọc những dấu chấm vào mặt sau tờ giấy bằng bút dùi. Các chấm nổi sau đó có thể đọc được bằng ngón tay.

Louis Braille bắt đầu làm quen với hệ thống của Barbier lúc 12 tuổi. Cậu thích cách dùng các chấm nổi không chỉ vì nó dễ đọc bằng ngón tay mà còn vì dễ viết nữa. Một học sinh trong lớp với giấy và bút có thể ghi chú và đọc lại chúng. Braille cố gắng một cách bền bỉ cải tiến hệ thống trong ba năm (lúc 15 tuổi) và tự mình cậu đã phát minh ra một nền tảng mà đến nay vẫn còn được dùng. Trong nhiều năm, hệ thống chỉ được biết đến trong các trường học, nhưng dần dà cũng lan rộng ra toàn thế giới. Năm 1835, Louis Braille nhiễm bệnh lao, điều mà rồi sẽ chóng giết chết cậu sau sinh nhật lần thứ 43 vào năm 1852.

Ngày nay, hệ thống Braille nâng cấp cạnh tranh với sách nói trong việc đưa người mù đến gần với chữ viết. Nhưng Braille vẫn là một hệ thống vô giá và là cách duy nhất để người vừa mù vừa điếc có thể đọc. Những nằm gần đây, Braille trở nên thân thuộc hơn ngoài cộng đồng khi thang máy và máy rút tiền tự động đã dùng Braille để tăng khả năng sử dụng.
Những gì tôi sẽ làm trong chương này là mổ xẻ mã Braille và cho bạn xem cách nó hoạt động. Bạn không cần phải học mã Braille hay nhớ thứ gì cả. Mục đích duy nhất của hoạt động này chỉ là để có thêm cái nhìn khác vào bản chất của mã.

Trong Braille, mỗi ký tự trong chữ viết – đặc biệt là chữ cái, số và dấu câu – được mã hóa thành một hay nhiều chấm bên trong một ô hai nhân ba. Các chấm trong ô thường được đánh số từ 1 tới 6:

Một ô Braille


Máy đánh chữ chuyên dụng được phát triển để dập nổi chấm Braille vào giấy, và ngày nay máy dập nổi hướng máy tính làm công việc này.

Bởi vì dập nổi chỉ vài trang trong cuốn sách này bằng Braille sẽ rất tốn kém, nên tôi đã sử dụng một ký hiệu phổ biến để thể hiện Braille trên sách. Trong cách ký hiệu này, cả sáu dấu chấm trong ô đều được vẽ. Dấu chấm to thể hiện phần nổi lên trang giấy. Dấu chấm nhỏ thể hiện phần phẳng của ô. Ví dụ, trong Braille kí tự với chấm 1, 3 và 5 là nổi và 2, 4 và 6 thì không.

Điều thú vị ở đây là các chấm có tính nhị phân. Một chấm nào đó chỉ có thể phẳng hoặc nổi. Điều này có nghĩa là ta có thể áp dụng những gì đã học được về mã Morse và tổ hợp nhị phân vào Braille. Ta biết rằng có 6 chấm và mỗi chấm có thể là phẳng hoặc nổi, vậy tổng số tổ hợp của 6 chấm nổi hoặc phẳng sẽ là 2 x 2 x 2 x 2 x 2 x 2 hay 2^6 hay 64.

Do đó, hệ thống Braille có khả năng biểu thị 64 mã độc nhất. Như dưới đây – tất cả 64 mã của Braille:

64 mã của Braille


Không nhất thiết phải dùng hết 64 mã này trong Braille, nhưng 64 là giới hạn ngầm hiểu bởi mẫu hình dùng 6 chấm.

Để bắt đầu bước phân tích mã Braille, hãy nhìn vào bảng chữ cái viết thường cơ bản:



Ví dụ, cụm từ “you and me” trong Braille trông như thế này:


Để ý các ô cho chữ cái trong cùng một chữ cách nhau một khoảng trống nhỏ; khoảng trống lớn hơn (thường là một ô không có chấm) được dùng giữa các chữ.

Đây là nền tảng mã Braille khi Louis Braille phát minh ra hay ít nhất cũng áp dụng được cho các chữ cái Latin. Louis Braille cũng phát minh ra mã cho các chữ có dấu, thường có trong tiếng Pháp. Chúng không có mã cho w, chữ cái không được dùng trong tiếng Pháp (Đừng lo. Sau này nó sẽ xuất hiện thôi). Tới đây, chỉ có 25 trong 64 mã khả dụng.

Sau khi kiểm tra kỹ, bạn khám phá ra một khuôn mẫu cho 25 chữ cái viết thường trong Braille. Hàng đầu (từ a tới j) chỉ dùng bốn chấm phía trên trong ô – chấm 1, 2, 4 và 5. Hàng thứ hai (từ k tới t) cũng tương tự như hàng đầu ngoại trừ chấm ba cũng được làm nổi. Hàng thứ ba (u tới z) cũng như vậy nhưng chấm 3 và 6 nổi.

Louis Braille ban đầu thiết kế hệ thống này để dập bằng tay. Ông biết rằng sẽ có sai sót nên đã định nghĩa khéo léo 25 chữ cái viết thường này sao cho giảm được nhầm lẫn. Ví dụ, trong 64 mã Braille, 6 mã có một chấm nổi. Nhưng chỉ một trong số chúng được dùng cho chữ viết thường, đặc biệt cho chữ cái a. Bốn trong 64 mã có 2 chấm liền nhau trên cột, nhưng lại lần nữa chỉ một mã được dùng, cho chữ cái b. Ba mã có 2 chấm liền nhau trên hàng ngang, nhưng chỉ một mã được dùng, cho c.

Điều mà Louis Braille thật sự định nghĩa là một tập hợp các hình dạng độc nhất có thể dịch chuyển một chút trên trang giấy mà vẫn giữ nguyên ý nghĩa. a là một chấm nổi, b là 2 chấm nổi liền dọc, c là 2 chấm nổi liền ngang, và cứ thế.

Mã thường dễ dính lỗi. Một lỗi xảy ra khi mã được viết (ví dụ khi một học sinh mã Braille đánh dấu chấm trên giấy) được gọi là một lỗi encoding (mã hoá). Một lỗi xảy ra khi đọc mã được gọi là một lỗi decoding (giải mã). Hơn nữa, còn có thể bị lỗi transmission (truyền tin)—ví dụ, khi một trang chứa mã Braille bị hư hại sao đó. Các mã hoàn chỉnh hơn thường kết hợp vài kiểu chữa lỗi bên trong. Theo nghĩa này, Braille khi được định nghĩa bởi Louis Braille là một hệ thống mã hoàn chỉnh: Nó dùng sự dư thừa để cho phép một chút sai sót trong dập và đọc chấm.

Kể từ thời Louis Braille, mã Braille đã được mở rộng theo nhiều cách, bao gồm các hệ thống biểu thị toán học và âm nhạc. Hiện nay, hệ thống được dùng nhiều nhất trong các văn bản xuất bản tiếng Anh có tên là mã Braille cấp 2 (Grade 2 Braille). Mã Braille cấp 2 dùng nhiều cách rút gọn để tiết kiệm giấy và tăng tốc độ đọc. Ví dụ, nếu mã chữ cái chỉ đại diện cho chính chúng, thì nay chúng đại diện cho các từ thông dụng. Ba hàng sau (bao gồm hàng ngang thứ ba “hoàn chỉnh”) trình bày những mã chữ này:


Do đó, cụm từ “you and me” có thể được viết bằng mã Braille cấp 2 như sau:


Đến giờ tôi đã mô tả 31 mã – khoảng trống không chấm nổi dùng để ngăn các chữ với nhau và bộ 3 hàng mỗi hàng 10 mã cho các chữ cái và từ. Ta vẫn chưa đạt được 64 mã mà theo lý thuyết đã tính. Trong mã Braille cấp 2, như ta sẽ thấy, không có gì phải lãng phí.

Mã cho các chữ cái từ a tới j được kết hợp với chấm nổi số 6. Chúng đa phần được dùng để viết gộp các chữ cái trong chữ và cũng gồm w và những từ viết tắt khác:


Ví dụ, từ “about” có thể viết theo mã Braille cấp 2 như sau:


Bước tiếp theo giới thiệu một số mơ hồ tiềm ẩn vốn không có trong định nghĩa ban đầu của Louis Braille. Mã cho các chữ cái từ a tới j có thể hạ xuống để chỉ dùng chấm 2, 3, 5 và 6. Những mã này được dùng cho dấu câu và viết gộp dựa vào ngữ cảnh:


Bốn mã đầu dùng cho dấu phẩy, chấm phẩy, hai chấm và chấm. Để ý là hai dấu ngoặc tròn cùng dùng chung một mã nhưng lại dùng hai mã khác nhau cho hai dấu ngoặc kép. Bởi vì những mã này có thể bị nhầm lẫn với chữ từ a tới j, chúng chỉ có nghĩa trong ngữ cảnh lớn hơn giữa các chữ cái khác.

Giờ đã đạt 51 mã. 6 mã sau là sự kết hợp của các chấm 3, 4, 5 và 6 để biểu thị cho các cách viết gộp và thêm một vài dấu câu nữa:


Mã cho “ble” rất quan trọng vì khi nó không tham gia tạo chữ thì nó mang nghĩa đại diện để các mã theo sau nó được hiểu là số. Các mã số này giống với mã cho chữ cái từ a tới j:


Cho nên trình tự mã này có nghĩa là số 256.


Nếu bạn theo dõi nãy giờ thì còn cần có 7 mã nữa để đạt con số tối đa là 64. Và chúng đây:


Mã đầu tiên (chấm nổi số 4) được dùng như là một chỉ thị cho dấu câu. Những cái khác được dùng như là tiền tố cho một vài cách viết gộp và các mục đích khác: Khi chấm 4 và 6 nổi (mã thứ 5 trong hàng này) mang nghĩa là dấu chấm thập phân trong số hay chỉ thị cho sự nhấn mạnh, điều đó còn tùy vào ngữ cảnh. Khi chấm 5 và 6 nổi (mã thứ 6), nó là chỉ thị chữ cái đảo ngược với chỉ thị cho số.

Và cuối cùng (nếu bạn tự hỏi Braille mã hóa chữ in hoa như thế nào) ta có chấm số 6 – chỉ thị viết hoa. Nó ra dấu cho các chữ cái theo sau là chữ viết hoa. Ví dụ, ta có thể viết tên của ông tổ hệ thống này là:


Chuỗi này bắt đầu với một chỉ thị viết hoa, chữ cái l, viết gộp ou, các chữ is, một khoảng cách, một chỉ thị viết hoa khác và các chữ cái b, r, a, l, l, e (Trong thực tế thì có thể viết tắt thêm nữa bằng cách bỏ luôn hai chữ cái cuối vì chúng không được phát âm, hoặc phát âm là “brl”).

Tóm lại, ta vừa được xem cách 6 phần tử nhị phân (chấm) sản sinh ra 64 mã, không hơn. Có vài mã trong 64 mã đó mang hai nghĩa tùy vào ngữ cảnh. Điều thú vị ở đây là chỉ thị cho số và chỉ thị cho chữ để hủy bỏ chỉ thị cho số trước đó. Những mã này đổi nghĩa các mã theo sau chúng – từ chữ sang số và ngược lại từ số sang chữ. Các mã như vậy thường được gọi là các mã ưu tiên (precedence) hay mã chuyển (shift). Chúng thay đổi nghĩa của mã đuôi cho đến khi sự chuyển đổi hoàn thành. Mã shift tương tự với đè phím Shift trên bàn phím máy tính, và nó có tên như vậy là từ phím cùng chức năng trên máy đánh chữ cũ để chuyển sang gõ chữ in hoa.

Chỉ thị cho viết hoa nghĩa là các chữ cái theo sau (và chỉ những chữ theo sau) nên viết hoa hơn là viết thường. Một mã như vậy được biết đến là một mã thoát (escape). Mã thoát cho bạn “thoát ra” khỏi sự diễn giải chuỗi mã thông thường và chuyển sang một cách giải nghĩa mới. Mã chuyển và mã thoát thông dụng khi chữ viết được đại diện bởi mã nhị phân, nhưng chúng có thể nảy sinh ra phức tạp vì không thể thông dịch tự thân các mã này mà không cần phải biết code phía trước là gì.

Vào năm 1855, những người ủng hộ Braille bắt đầu mở rộng hệ thống với một hàng 2 chấm nữa. Mã Braille 8-chấm được dùng vào những mục đích đặc biệt như là âm nhạc, tốc ký, chữ Kanji Nhật. Vì nó tăng số lượng mã đơn lẻ lên 2^8 hay 256, nó cũng tiện lợi trong ứng dụng máy tính, cho phép chữ thường và in hoa, số và dấu câu, tất cả đều có mã cho riêng mình mà không cần mất công chuyển hay thoát mã.

---

Các bạn hãy thử áp dụng mã Braille để viết một lời nhắn thú vị cho bản thân nhé!
Cảm ơn bạn đã đọc bài viết này.
15