Chuyển đổi base64 sang csv javascript
Mã hóa Base64 là một cách để chuyển đổi dữ liệu (thường là nhị phân) thành bộ ký tự ASCII. Điều quan trọng cần đề cập ở đây là Base64 không phải là một kỹ thuật mã hóa hoặc nén, mặc dù đôi khi nó có thể bị nhầm lẫn là mã hóa do cách nó che khuất dữ liệu. Trên thực tế, kích thước của một đoạn thông tin được mã hóa Base64 là 1. 3333 lần kích thước thực tế của dữ liệu gốc của bạn Show Base64 là kỹ thuật mã hóa cơ sở được sử dụng rộng rãi nhất với Base16 và Base32 là hai lược đồ mã hóa thường được sử dụng khác Base64 hoạt động như thế nào?Chuyển đổi dữ liệu thành base64 là một quá trình gồm nhiều bước. Đây là cách nó hoạt động cho các chuỗi văn bản
Để hiểu rõ hơn về khái niệm này, chúng ta hãy xem một ví dụ Giả sử chúng ta có chuỗi "Go win" và chúng ta muốn chuyển nó thành chuỗi Base64. Bước đầu tiên là chuyển đổi chuỗi này thành nhị phân. Phiên bản nhị phân của "Go win" là
Bạn có thể thấy ở đây mỗi ký tự được biểu thị bằng 8 bit. Tuy nhiên, như chúng tôi đã nói trước đó, Base64 chuyển đổi dữ liệu ở dạng nhị phân 8 bit thành các khối 6 bit. Điều này là do định dạng Base64 chỉ có 64 ký tự. 26 chữ cái viết hoa, 26 chữ cái viết thường, 10 ký tự số và ký hiệu "+" và "/" cho dòng mới Base64 không sử dụng tất cả các ký tự đặc biệt ASCII, mà chỉ sử dụng một số ký tự này. Lưu ý rằng một số triển khai của Base64 sử dụng các ký tự đặc biệt khác với "+" và "/" Quay lại ví dụ, chúng ta hãy chia dữ liệu 8 bit thành các khối 6 bit
Không phải lúc nào bạn cũng có thể chia dữ liệu thành các bộ 6 bit đầy đủ, trong trường hợp đó, bạn sẽ phải xử lý phần đệm Bây giờ với mỗi đoạn trên, chúng ta phải tìm giá trị thập phân của nó. Các giá trị thập phân này đã được đưa ra dưới đây
Cuối cùng, chúng ta phải xem giá trị Base64 cho từng số thập phân mà chúng ta vừa tính toán từ dữ liệu nhị phân. Bảng mã hóa Base64 trông như thế này Ở đây bạn có thể thấy rằng số thập phân 17 tương ứng với "R" và số thập phân 54 tương ứng với "2", v.v. Sử dụng bảng mã hóa này, chúng ta có thể thấy rằng chuỗi "Go win" được mã hóa thành "R28gd2lu" bằng Base64. Bạn có thể sử dụng bất kỳ trình chuyển đổi văn bản trực tuyến nào sang Base64 để xác minh kết quả này Tại sao nên sử dụng Mã hóa Base64?Việc gửi thông tin ở định dạng nhị phân đôi khi có thể gặp rủi ro vì không phải tất cả các ứng dụng hoặc hệ thống mạng đều có thể xử lý dữ liệu nhị phân thô. Mặt khác, bộ ký tự ASCII được biết đến rộng rãi và rất đơn giản để xử lý đối với hầu hết các hệ thống. Ví dụ: máy chủ email mong đợi dữ liệu văn bản, vì vậy ASCII thường được sử dụng. Do đó, nếu bạn muốn gửi hình ảnh hoặc bất kỳ tệp nhị phân nào khác tới máy chủ email, trước tiên bạn cần mã hóa nó ở định dạng dựa trên văn bản, tốt nhất là ASCII. Đây là nơi mã hóa Base64 cực kỳ hữu ích trong việc chuyển đổi dữ liệu nhị phân sang định dạng chính xác Mã hóa chuỗi Base64 bằng nút. jsCách dễ nhất để mã hóa chuỗi Base64 trong Node. js thông qua đối tượng Buffer. trong nút. js, 3 là một đối tượng toàn cầu, điều đó có nghĩa là bạn không cần sử dụng câu lệnh yêu cầu để sử dụng đối tượng 3 trong các ứng dụng của mìnhBên trong 3 là một mảng số nguyên bất biến cũng có khả năng thực hiện nhiều mã hóa/giải mã khác nhau. Chúng bao gồm đến/từ mã hóa UTF-8, UCS2, Base64 hoặc thậm chí Hex. Khi bạn viết mã xử lý và thao tác dữ liệu, có thể bạn sẽ sử dụng đối tượng 3 vào một thời điểm nào đóHãy xem ví dụ sau. Ở đây chúng tôi sẽ mã hóa một chuỗi văn bản thành Base64 bằng cách sử dụng đối tượng 3. Lưu đoạn mã sau vào tệp "encode-text. js"
Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó Trong đoạn script trên, chúng tôi tạo một đối tượng bộ đệm mới và chuyển cho nó chuỗi mà chúng tôi muốn chuyển đổi thành Base64. Sau đó, chúng tôi gọi phương thức "toString" trên đối tượng bộ đệm mà chúng tôi vừa tạo và chuyển nó "base64" làm tham số. Phương thức "toString" với tham số "base64" sẽ trả về dữ liệu ở dạng chuỗi Base64. Chạy đoạn mã trên, bạn sẽ thấy đầu ra sau
Ở đầu ra, chúng ta có thể thấy bản sao Base64 cho chuỗi mà chúng ta đã chuyển đổi thành Base64 Giải mã chuỗi Base64 bằng nút. jsGiải mã chuỗi Base64 khá giống với mã hóa nó. Bạn phải tạo một đối tượng bộ đệm mới và truyền hai tham số cho hàm tạo của nó. Tham số đầu tiên là dữ liệu trong Base64 và tham số thứ hai là "base64". Sau đó, bạn chỉ cần gọi "toString" trên đối tượng bộ đệm nhưng lần này tham số được truyền cho phương thức sẽ là "ascii" vì đây là loại dữ liệu mà bạn muốn dữ liệu Base64 của mình chuyển đổi thành. Hãy xem đoạn mã sau để tham khảo
Thêm dữ liệu vào "ascii. js" và lưu nó. Ở đây chúng tôi đã sử dụng "Tm8gdG8gUmFjaXNt" làm dữ liệu đầu vào Base64. Khi dữ liệu này được giải mã, nó sẽ hiển thị "Không phân biệt chủng tộc". Điều này là do từ ví dụ trước, chúng ta biết rằng "Không phân biệt chủng tộc" tương đương với "Tm8gdG8gUmFjaXNt". Chạy đoạn mã trên với Node. js. Nó sẽ hiển thị đầu ra sau Mã hóa dữ liệu nhị phân thành chuỗi Base64Như đã đề cập ở đầu bài viết, mục đích chính của mã hóa Base64 là chuyển đổi dữ liệu nhị phân sang định dạng văn bản. Hãy để chúng tôi xem một ví dụ nơi chúng tôi sẽ chuyển đổi một hình ảnh (dữ liệu nhị phân) thành một chuỗi Base64. Hãy xem ví dụ sau
Trong đoạn mã trên, chúng tôi tải một hình ảnh vào bộ đệm thông qua phương pháp 4 của mô-đun 5. Phần còn lại của quy trình tương tự như tạo chuỗi Base64 từ chuỗi ASCII bình thườngKhi bạn chạy đoạn mã trên, bạn sẽ thấy đầu ra sau
Mặc dù hình ảnh thực tế rất nhỏ (25x19), đầu ra vẫn khá lớn, một phần là do Base64 tăng kích thước của dữ liệu, như chúng tôi đã đề cập trước đó Giải mã chuỗi Base64 thành dữ liệu nhị phânQuá trình đảo ngược ở đây rất giống với cách chúng ta giải mã các chuỗi Base64, như chúng ta đã thấy trong phần trước. Sự khác biệt lớn nhất là đích đầu ra và cách dữ liệu được ghi ở đó. Hãy xem ví dụ 0Ở đây bạn có thể thấy rằng chúng tôi bắt đầu với dữ liệu Base64 (dữ liệu này cũng đã được nhận từ ổ cắm hoặc một số đường truyền thông khác) và chúng tôi tải nó vào một đối tượng 3. Khi tạo bộ đệm, chúng tôi cho biết bộ đệm ở định dạng 7, cho phép bộ đệm phân tích cú pháp cho phù hợp để lưu trữ nội bộĐể lưu dữ liệu trở lại định dạng PNG thô, chúng tôi chỉ cần chuyển đối tượng 3 sang phương thức 9 của chúng tôi và nó sẽ thực hiện chuyển đổi cho chúng tôiSự kết luậnMã hóa Base64 là một trong những cách phổ biến nhất để chuyển đổi dữ liệu nhị phân thành văn bản ASCII thuần túy. Đây là một định dạng rất hữu ích để giao tiếp giữa một hoặc nhiều hệ thống không thể dễ dàng xử lý dữ liệu nhị phân, như hình ảnh trong đánh dấu HTML hoặc yêu cầu web trong nút. js, đối tượng 3 có thể được sử dụng để mã hóa và giải mã các chuỗi Base64 sang và từ nhiều định dạng khác, cho phép bạn dễ dàng chuyển đổi dữ liệu qua lại khi cần |