Chắc rằng toàn bộ đa số người đều biết về vấn đề đó ở 1 mức độ như thế nào kia, cơ mà thiếu hiểu biết sao các kiến thức và kỹ năng này lại bị không đủ trong những cuộc tranh cãi về văn phiên bản, cần thứ nhất hãy nói lại một chút: Máy tính cần yếu như thế nào tàng trữ được “chữ”, “số”, “ảnh”, tốt bất kể đồ vật gì không giống. Thđọng độc nhất nhưng mà nó hoàn toàn có thể giữ được cùng làm việc cùng sẽ là bit. Một bit chỉ hoàn toàn có thể tất cả 2 giá bán trị: có hoặc không, đúng hoặc không đúng, 1 hoặc 0, bạn muốn gọi Theo phong cách làm sao cũng rất được. Vì máy vi tính chuyển động bởi năng lượng điện, một bit thực tế hoàn toàn có thể được trình bày bằng điện áp, xung ngày nay hoặc tâm lý điện của mạch flip-flop. Đối cùng với bé tín đồ, bit thường xuyên được bộc lộ bằng 1 cùng 0 nên hãy coi đó là quy ước trong suốt bài viết này.
Bạn đang xem: Decode là gì
Đang xem: Decode là gì
Để sử dụng bit nhằm biểu lộ cho bất kể thứ gì, bọn họ đề nghị các nguyên tắc. Chúng ta rất cần được chuyển đổi một chuỗi những bit thành đồ vật nào đó nlỗi chữ, số cùng ảnh bằng cách thực hiện một encoding scheme (lược đồ dùng mã hóa), hoặc Gọi tắt là encoding. Như nuốm này:
01100010 01101001 01110100 01110011b i t sTrong encoding này, 01100010 đại diện mang đến chữ “b”, 01101001 cho chữ “i”, 01110100 mang lại chữ “t” và 01110011 đến chữ “s”. Một chuỗi các bit khăng khăng đang đại diện thay mặt cho 1 chữ và một chữ vẫn đại diện cho 1 chuỗi các bit nhất thiết. Nếu các bạn có trí nhớ giỏi để lưu giữ được chuỗi bit cho 26 chữ thì bạn cũng có thể hiểu bit nhỏng xem sách vậy.
Encoding scheme trên được điện thoại tư vấn là ASCII. Một chuỗi những hàng đầu và 0 được chia nhỏ ra thành nhiều phần, từng phần 8 bit (hoặc 1 byte). ASCII luật một bảng để dịch trường đoản cú byte lịch sự vần âm nhưng mà nhỏ người rất có thể phát âm được. Dưới đấy là 1 phần nhỏ dại của bảng đó:
01000001 | A |
01000010 | B |
01000011 | C |
01000100 | D |
01000101 | E |
01000110 | F |
Có tổng cộng 95 cam kết tự có thể gọi được nguyên tắc trong bảng ASCII, bao gồm chữ từ bỏ A cho Z nghỉ ngơi tâm trạng thường cùng in hoa, số trường đoản cú 0 mang lại 9, một vài vết chấm câu và các ký kết tự nhỏng đồng đô la, dấu chnóng than với một vài ba thiết bị khác. Nó cũng bao hàm 33 quý giá cho một số trong những máy nlỗi vệt bí quyết, vệt xuống dòng, tab, backspace,… Những máy này tất yếu cần thiết in ra được, nhưng cũng vẫn hữu hình sinh sống một vài dạng cùng bổ ích thẳng với con bạn. Một vài quý giá thì chỉ bổ ích cùng với máy tính, nlỗi mã nhằm lưu lại ban đầu cùng dứt của vnạp năng lượng phiên bản. Tộng cùng gồm 128 cam kết trường đoản cú được định nghĩa vào encoding ASCII, kia là 1 trong những số lượng rất đẹp (với những người dân quen thuộc với đồ vật tính), bởi vì nó thực hiện hết tất cả các phối hợp hoàn toàn có thể của 7 bit (0000000 cho đến 1111111).
Và tiếng thì chúng ta đã có phương pháp để bộc lộ vnạp năng lượng bản chỉ bởi việc thực hiện 1 cùng 0:
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 “Hello World”Thuật ngữ quan tiền trọngĐể encode một trang bị gì đấy bởi ASCII, làm theo bảng từ bỏ nên qua trái, sửa chữa thay thế các chữ bởi các bit. Để decode một chuỗi các bit thành các cam kết từ hoàn toàn có thể đọc được, làm theo bảng tự trái qua nên, sửa chữa các bit bằng văn bản.
Encode nghĩa là sử dụng một vật dụng nào đó để trình bày cho một sản phẩm công nghệ không giống. encoding là một trong những tập vừa lòng các phép tắc để triển khai câu hỏi biến hóa kia.
Một số thuật ngữ khác đề nghị được thiết kế rõ trong ngữ cảnh này:
character set, charset
Tập hòa hợp các ký từ bỏ rất có thể được encode. “Mã hóa ASCII bao gồm 1 cỗ cam kết từ bỏ bao gồm 128 cam kết tự.” Về cơ bản thì đồng nghĩa tương quan với “encoding”.
code page
Một “trang” các mã để link những cam kết trường đoản cú với cùng một chuỗi những bit khớp ứng. Cũng có thể phát âm là 1 trong “bảng”. Về cơ phiên bản thì đồng nghĩa tương quan với “encoding”.
Xem thêm: Bản Vẽ Kỹ Thuật Dùng Để Làm Gì ? Câu 2 Trang 52 Sgk Công Nghệ 8
string
Một string là một số trong những các nhân tố được xâu lại với nhau. Một chuỗi bit là 1 loạt các bit, như 01010011. Một chuỗi cam kết từ là 1 loạt những ký từ, như vậy này. Đồng nghĩa với “sequence”.
Binary, Octal, Decimal, Hex
Có rất nhiều phương pháp để viết một trong những. 1001111một trong các hệ nhị phân là 237 trong hệ bát phân, 159 vào hệ thập phân với 9F trong hệ thập lục phân. Chúng hồ hết bộc lộ một quý giá, nhưng mà số thập lục phân lại nthêm gọn hơn cùng dễ đọc rộng đối với số nhị phân. Tuy thế tôi đang sử dụng nhị phân nhìn trong suốt bài viết này để triển khai vấn đề trsinh sống bắt buộc dễ hiểu rộng cũng giống như loại bỏ giảm được một tờ trừu tượng. Đừng lo nếu bạn thấy ở đâu đó những mã ký trường đoản cú lại được viết ngơi nghỉ hệ không giống nhé, chúng đồng nhất cả thôi.
Excusez-Moi?
Sau Khi vẫn nắm rõ mọi ý trên rồi thì thuộc thú thiệt với nhau nào: 95 ký kết từ là vượt hiếm khi bọn họ nói về các ngữ điệu. Nó có thể áp dụng mang đến giờ đồng hồ Anh cơ phiên bản, nhưng mà đang cố kỉnh nào nếu như họ muốn viết một risqué letter (thư báo rủi ro ro) bởi giờ đồng hồ Pháp? Straßenübergangsänderungsgesetz (luật mặt đường bộ) trong tiếng Đức? Một lời mời cho tiệc smörgåsbord (tiệc đứng) bởi giờ Thụy Điển? Ờm, bạn không thể. Không thể bằng ASCII. Không tất cả một hướng dẫn nào mang đến câu hỏi mô tả các chữ nlỗi é, ß, ü, ä, ö or å vào ASCII, cần bọn họ cần thiết sử dụng nó được.
“Nhưng chú ý coi,” dân châu Âu nói, “trong một chiếc máy tính xách tay thịnh hành với cùng một byte bởi 8 bit, mã hóa ASCII vẫn có tác dụng giá tiền phạm hẳn 1 bit khi luôn luôn mix giá trị của nó là 0! Chúng ta hoàn toàn có thể dùng bit này nhằm nhét thêm tận 128 quý hiếm vào cái bảng đó!” Và bọn họ vẫn có tác dụng như vậy. Nhưng bao gồm cả gắng, có không ít hơn 128 cách để đặt vệt cho một nguan tâm. Chúng ta quan trọng làm sao gửi không còn toàn bộ những biến thể của vần âm được sử dụng trong các ngữ điệu của toàn Châu Âu vào trong cùng một bảng cùng với về tối đa 256 giá trị được. Và kế tiếp quả đât chìm chìm trong một biển cả các encoding, những tiêu chuẩn chỉnh, các tiêu chuẩn thực tiễn với thậm chí là là… nửa tiêu chuẩn để dùng cho các bộ cam kết trường đoản cú khác biệt. Một fan nào kia rất cần được viết một văn uống phiên bản về giờ Thụy Điển bằng giờ Séc, tìm không ra encoding làm sao áp dụng cho cả 2 ngôn ngữ này đề nghị đành trường đoản cú chế ra một chiếc. Và cthị trấn kia ra mắt hàng vạn lần.
Và cũng nhớ rằng tiếng Nga, giờ Ấn Độ, giờ Ả Rập, giờ đồng hồ Do Thái, tiếng Hàn cùng hàng vạn ngữ điệu khác đang rất được cần sử dụng bên trên trái đất. Chưa kể những ngữ điệu đã mất được dùng nữa. Một khi bạn vẫn giải được bài xích toán thù làm cho nắm làm sao nhằm viết những ngữ điệu trong cùng một văn phiên bản với những thiết bị giờ đồng hồ trên, hãy thách thức phiên bản thân bởi tiếng Trung. Hoặc giờ đồng hồ Nhật. Cả 2 ngôn từ này cất cả chục ngàn ký từ bỏ. Quý Khách bao gồm về tối nhiều 256 cực hiếm trong một byte cất 8 bit. Triển!
Mã hóa đa byte (Multi-Byte Encodings)
Để tạo thành một bảng liên kết các ký kết trường đoản cú với chữ cái cho 1 ngữ điệu có tương đối nhiều rộng 256 ký kết trường đoản cú, một byte dễ dàng và đơn giản là không đủ. Với 2 byte (16 bit), bạn có thể mã hóa cho tới 65,536 ký kết từ khác biệt. BIG-5 là một encoding thực hiện cách đây. Thay vày tách một chuỗi các bit thành bloông chồng 8, nó bóc tách thành bloông xã 16 và bao gồm một cái bảng kếch xù (ý tôi là, KHỔNG LỒ) phép tắc câu hỏi ký kết từ nào thì link cùng chuỗi bit làm sao. BIG-5 làm việc thể dễ dàng tốt nhất sẽ giải pháp xử lý số đông những cam kết trường đoản cú của giờ Trung phồn thể. GB18030 là 1 encoding khác cũng có thể có cách tiếp cận tương tự như, cơ mà nó bao hàm cả tiếng Trung giản thể cùng phồn thể luôn. Và trước khi chúng ta hỏi, thì đúng vậy, bao gồm cả các encoding khác chỉ giành cho tiếng Trung giản thể thôi. Tôi chỉ muốn sử dụng 1 encoding thôi mà cũng trở ngại gắng sao?
Dưới đây là 1 phần nhỏ tuổi của bảng mã hóa GB18030:
10000001 01000000 | 丂 |
10000001 01000001 | 丄 |
10000001 01000010 | 丅 |
10000001 01000011 | 丆 |
10000001 01000100 | 丏 |
GB18030 xử trí một lượng Khủng những ký từ bỏ (bao gồm cả đa phần những ký kết từ bỏ La tinh), tuy vậy ở đầu cuối thì nó cũng chỉ là một format mã hóa siêng biệt trong sản phẩm hà sa số những chiếc khác thôi.
Sự bối rối sở hữu thương hiệu Unicode
Cuối cùng thì cũng có người chịu hết nổi và đã vùng dậy tạo ra một chuẩn chỉnh mã hóa nhằm vừa lòng duy nhất toàn bộ các chuẩn không giống. Chuẩn này được Hotline là Unicode. Về cơ phiên bản nó quan niệm một bảng to cực đại với 1,114,112 các code point hoàn toàn có thể được dùng đến đông đảo loại chữ cái với hình tượng. Nó thừa đủ để mã hóa cục bộ giờ châu Âu, Trung Đông, Viễn Đông, miền Nam, miền Bắc, miền Tây, tiền sử cùng cả những ngôn ngữ tương lai nhưng mà bé bạn chưa nghĩ ra. Sử dụng Unicode, chúng ta có thể biên soạn văn uống bạn dạng chứa gần như hầu hết ngữ điệu bởi rất nhiều ký từ bỏ mà lại chúng ta có thể gõ ra. Điều này Hoặc là bất khả thi hoặc siêu vô cùng khó để triển khai trước lúc Unicode thành lập. Thậm chí còn tồn tại một mục ko bằng lòng giành riêng cho giờ Klingon (Star Trek) vào Unicode. Quý Khách thấy đó, Unicode Khủng cho nỗi nó cũng cho phép dùng vào mục đích cá thể luôn.



(Hết phần 1)
Bài viết được dịch từ bỏ What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text.