Mà đọc hiểu thuật đi, thuật này ko phức tạp lắm đâu.
Đơn giản thế này.
Cho 1 chuỗi gồm n ký tự. Ta đổi từng ký tự sang mã nhị phân. Vì ký tự (ở đây là ASCII) thì có 8bit.
Vậy đổi n ký tự sang nhị phân được 8n bit.
Thay vì lấy 8bit để đổi sang ASCII, thì bây giờ ta gom mỗi 6bit đổi sang hệ 10 và mapping với Base64 index table
Tức ra sẽ mapping được 8n/6 ký tự.
Phần còn dư ta thêm padding vào là xong.
https://en.wikipedia.org/wiki/Base64
Tham khảo mục C++ nhé
https://en.wikibooks.org/wiki/Algorithm_Implementation/Miscellaneous/Base64#C.2B.2B
Thanks anh,chắc copy code thôi chứ đọc nhìn encode lằng nhằng ghê @@
Mà đọc hiểu thuật đi, thuật này ko phức tạp lắm đâu.
Đơn giản thế này.
Cho 1 chuỗi gồm n ký tự. Ta đổi từng ký tự sang mã nhị phân. Vì ký tự (ở đây là ASCII) thì có 8bit.
Vậy đổi n ký tự sang nhị phân được 8n bit.
Thay vì lấy 8bit để đổi sang ASCII, thì bây giờ ta gom mỗi 6bit đổi sang hệ 10 và mapping với Base64 index table
Tức ra sẽ mapping được 8n/6 ký tự.
Phần còn dư ta thêm padding vào là xong.
https://en.wikipedia.org/wiki/Base64