Mã hóa base64 là gì?

Base64 - Những điều bạn cần biết Base64 là phương thức convert dạng mã hóa 2D từ binary sang string để có thể gửi đi được trong network một cách dễ dàng. Các binary lúc này sẽ được thể hiện bằng các ký tự mã ASCII . Sự ra đời của base64 bắt nguồn từ việc muốn gửi một ảnh quả Mail sử dụng chuẩn SMPT, nhưng mà chuẩn SMTP chỉ cho phép chuyển các ký tự ASCII sử dụng 7 bit có giá trị từ 0- 127. Nhưng mà một tệp nhị phân gồm có các byte có giá trị 0-255 vậy đầu tiên chúng ta cần convert nó để có thể dùng được SMTP. Base64 Encoding là gì - w3seo mã hóa base 64 là gì? base64 decode Cụ thể mã ASCII có 128 giá trị nhưng tại sao lại là base64 mà không phải base128nôm na là vì không phải 128 mã ASCII đều có thể được sử dụngVD CR/LF tương ứng là 13  10 trong mã ASCII được sử dụng để biểu thị việc kết thúc dòng trong SMTP cho nên việc sử dụng cặp ký tự này là không thiết yếu  còn nhiều cặp tương tự như vậy nên thay vì sử dụng 128 (7bits) chúng ta sẽ sử dụng 64 (6 bits) để thể hiện dữ liệu.

Mã hoá tệp tin theo chuẩn Base64

Chuẩn Base64 là một tập hợp gồm các ký tự (theo đúng thứ tự) : từ A đến Z, từ a đến z, từ 0 đến 9, dấu +, dấu / Tổng cộng là 64 ký tự biểu diễn 64 giá trị từ 0 đến 63. Như vậy, ký tự từ A đến Z biểu diễn cho các giá trị từ 0 đến 25, từ a đến z biểu diễn cho giá trị từ 26 đến 51, từ 0 đến 9 biểu diễn cho giá trị từ 52 đến 61, dấu + biểu diễn cho giá trị 62, dấu / biểu diễn cho giá trị 63. Một ký tự biểu diễn theo mã ASCII sẽ sử dụng 8 bits. Một ký tự theo Base64 sẽ sử dụng 6 bits. Như vậy, một tệp tin ở dạng Base64 sẽ có kích thước lớn hơn khi ở dạng ASCII. nhất định, sẽ lớn gấp 4/3 lần (8 bits/6 bits). Để chuyển đổi tệp sang dạng Base64, ta làm theo các bước như sau :
Vậy là xong. Ta sẽ thực hiện các thao tác trên qua một Ví dụ nhất định. Chuyển từ Man sang mã base64 sẽ là TWFu Trong VD trên, Mã ASCII, các kí tự M, a, n sẽ là 77, 97,  110 với 8-bit nhị phân là 0100110101100001& 01101110. Có 3 giá trị được nối lại với nhau thành một chuổi 24bit cụ thể là 010011010110000101101110. Một nhóm 6bit có tối đa 2^6 = 64 các giá trị nhị phân không giống nhau sẽ được tính từ trái sang phải.
base64-encoder
Bảng mã base64:
base64%2Btable
Base 64 table codes
Khi số bytes không chia hết cho 3 điều đấy có nghĩa là thiếu 1 hay 2 bytes thì ta thêm phần bytes phụ với giá trị bằng 0  thực hiện chuyển đổi.

Cách mã hoá theo chuẩn Base64

Để mã hoá file dạng Base64, chúng ta cần phải thực hiện 3 bước chính: Ví dụ: Chuyển tệp có nội dung văn bản SUN sang Base64 Trong trường hợp nhóm cuối không đủ 6 bits ta thêm các số 0 vào sau sao cho đủ 6 bits. Ta có bảng tóm gọn sau đây Như vậy dạng Base64 của SUN là U1VO. Nếu Decode thì chúng ta sẽ làm ngược lại.

Lời kết

Trên đây là các bước cơ bản về mã hoá file bằng Base64. Như các bạn có thể thấy, đây là một quá trình rất dễ dàng  trên Internet cũng có rất là nhiều công cụ giúp bạn có thể encode  decode Base64 một cách nhanh chóngCám ơn các bạn đã đọc & chúc các bạn học tập tốt!

     base64 endcode, base64 decode, mã hóa base64; giải mã code base64, encoder, decoder