Wikipedia nói
Các lược đồ mã hóa Base64 thường được sử dụng khi có nhu cầu mã hóa dữ liệu nhị phân cần lưu trữ và chuyển qua phương tiện được thiết kế để xử lý dữ liệu văn bản. Điều này là để đảm bảo rằng dữ liệu vẫn còn nguyên vẹn mà không cần sửa đổi trong quá trình vận chuyển.
Nhưng không phải dữ liệu luôn được lưu trữ / truyền trong hệ nhị phân vì bộ nhớ mà máy của chúng tôi có lưu trữ nhị phân và nó chỉ phụ thuộc vào cách bạn diễn giải nó? Vì vậy, cho dù bạn mã hóa mẫu bit 010011010110000101101110
như Man
trong ASCII hay như TWFu
trong Base64, cuối cùng bạn cũng sẽ lưu trữ cùng một mẫu bit.
Nếu mã hóa cuối cùng là về số không và các mã và mọi máy móc và phương tiện truyền thông có thể xử lý chúng, thì dữ liệu được biểu diễn dưới dạng ASCII hay Base64 như thế nào?
"Phương tiện được thiết kế để xử lý dữ liệu văn bản" nghĩa là gì? Họ có thể đối phó với nhị phân => họ có thể đối phó với bất cứ điều gì.
Cảm ơn tất cả mọi người, tôi nghĩ rằng tôi hiểu bây giờ.
Khi chúng tôi gửi dữ liệu, chúng tôi không thể chắc chắn rằng dữ liệu sẽ được diễn giải theo cùng định dạng như chúng tôi dự định. Vì vậy, chúng tôi gửi dữ liệu được mã hóa theo một số định dạng (như Base64) mà cả hai bên đều hiểu. Theo cách đó, ngay cả khi người gửi và người nhận giải thích những điều khác nhau, nhưng vì họ đồng ý về định dạng được mã hóa, dữ liệu sẽ không bị hiểu sai.
Nếu tôi muốn gửi
Hello
world!
Một cách là gửi nó trong ASCII như
72 101 108 108 111 10 119 111 114 108 100 33
Nhưng byte 10 có thể không được hiểu chính xác là một dòng mới ở đầu kia. Vì vậy, chúng tôi sử dụng một tập hợp con của ASCII để mã hóa nó như thế này
83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61
với chi phí truyền dữ liệu nhiều hơn cho cùng một lượng thông tin đảm bảo rằng người nhận có thể giải mã dữ liệu theo cách dự định, ngay cả khi người nhận tình cờ có các cách hiểu khác nhau cho phần còn lại của bộ ký tự.