Giải mã NodeJS base64

Một chức năng nhỏ để giải mã các chuỗi base64 thành Uint8Arrays, hữu ích cho việc đóng gói và tải các mô-đun WASM

Cài đặt

npm install --save decode-base64

Cách sử dụng

import decode from 'decode-base64';

decode ( 'base64 string here...' ); // => Uint8Arrays

Giấy phép

MIT © Fabio Spampinato

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách mã hóa và giải mã các chuỗi có định dạng base64 trong Node. js

đối tượng đệm

trong nút. js, chúng ta có thể sử dụng đối tượng

echo  | base64
7 để mã hóa chuỗi thành base64 hoặc giải mã mã hóa base64 thành chuỗi

Việc không hiểu quy trình mã hóa base64 của Nodejs có thể cản trở bạn tối đa hóa tiềm năng của môi trường thời gian chạy trong quá trình truyền dữ liệu

Hướng dẫn này giải thích tầm quan trọng của Nodejs trong mã hóa dữ liệu. Nó hướng dẫn bạn từ thủ công đến thiết bị đầu cuối đến mã hóa tệp Nodejs (đơn giản và phức tạp)

Lớp đệm đóng một vai trò quan trọng trong mã hóa Nodejs base64. Để mã hóa dữ liệu, hãy chỉ định dữ liệu đó ở định dạng mã hóa chuỗi base64 và phiên bản Bộ đệm, như sau

new Buffer.from().toString('base64')

Như bạn sẽ thấy trong hướng dẫn này, bạn cũng có thể giải mã dữ liệu trong khi đọc nó. Chúng tôi sẽ sử dụng Visual Studio Code nhưng bạn có thể thay thế nó bằng trình chỉnh sửa mã ưa thích của mình

Bắt đầu nào

 

Tại sao mã hóa base64?

Bạn có thể bỏ qua phần này nếu bạn chỉ muốn xem các ví dụ thực tế về mã hóa Nodejs base64

Sự liên quan của mã hóa dữ liệu xuất hiện trong thời đại teleprinter. Bạn có thể gõ một phím trong máy đơn giản, nó đã thay đổi các ký tự thành số. Tin nhắn được mã hóa có thể được in và fax trên một khoảng cách dài

CŨNG ĐỌC. Cách sử dụng vòng lặp async for trong Node. js [Ví dụ thực tế]

Sau đó là nhu cầu tiêu chuẩn hóa viễn thông. ASCII đã phát triển một phương pháp 7 bit để ánh xạ các chữ cái tiếng Anh và các ký tự đặc biệt thành các số

Quảng cáo

Các số thập phân kết quả có thể được chuyển đổi, thông qua bảng ASCII, thành nhị phân (1 và 0) để liên lạc giữa các máy tính

Giải mã NodeJS base64

Hạn chế chính của ASCII là không có khả năng mã hóa các ký tự không phải tiếng Anh. Giải pháp cho thách thức đó là sự ra đời của Unicode, chứa hơn 100.000 ký tự

Một thách thức khác trong thời đại internet là truyền dữ liệu 7 bit (0 đến 127 ký tự) qua mạng 8 bit. Đó là nơi mã hóa base64 xuất hiện

 

Mã hóa Base64 và cách thức hoạt động

Unicode sử dụng các định dạng giải mã và mã hóa khác nhau. Những cái đáng chú ý là

echo  | base64
5,
echo  | base64
6 và
echo  | base64
7

Chuyển đổi Bộ đệm thành chuỗi bằng cách sử dụng

echo  | base64
5,
echo  | base64
6 hoặc
echo "Great" | base64
0 được gọi là giải mã. Mặt khác, việc chuyển đổi một chuỗi thành Bộ đệm được gọi là mã hóa

Theo cách tương tự, bạn có thể thực hiện mã hóa nhị phân thành văn bản bằng cách sử dụng

echo  | base64
7,
echo "Great" | base64
2 hoặc
echo "Great" | base64
3. Điểm mấu chốt là base64 mã hóa dữ liệu nhị phân, trong khi
echo  | base64
5 và
echo  | base64
6 mã hóa văn bản Unicode

Một thực tế đáng chú ý khác là Bảng ASCII sử dụng 128 ký tự để biểu diễn các giá trị theo phương pháp số học. Mặt khác, Bảng lập chỉ mục Base64 có 64 ký hiệu để biểu thị các giá trị theo mạng

CŨNG ĐỌC. 8 cách khác nhau để sử dụng khẳng định trong Node. js [Ví dụ thực tế]

Base64 đơn giản hóa việc mã hóa các định dạng dữ liệu khác nhau như tệp văn bản, hình ảnh, video, HTML và JSON. Giả sử chúng tôi muốn mã hóa "Này. " Chúng ta có thể thực hiện thủ công, sử dụng các lệnh đầu cuối hoặc Nodejs base64 mã hóa dữ liệu

Quảng cáo

 

mã hóa thủ công

Năm bước chính để mã hóa dữ liệu là

Bước 1. Xác định vị trí ánh xạ số nguyên của từng ký tự từ Bảng ASCII

Tức là H = 72, e = 101, y = 121

 

Bước 2. Tính toán phiên bản 8 bit của các ký tự

Nhân vậtASCII2 nguồn 72 nguồn 62 nguồn 52 nguồn 42 nguồn 32 nguồn 22 nguồn 12 nguồn 0H7201001000e10101100101y12101111001

 

Bước 3. Tập hợp lại các kết quả bước 2 thành các khối 6 bit

nhóm 0 nhóm 1 nhóm 2 nhóm 30 1 0 0 1 00 0 0 1 1 00 1 0 1 0 11 1 1 0 0 1

Điền vào các khoảng trống bằng 0 nếu nhóm cuối cùng có ít hơn 6 bit. Ghi chú. Tên base64 là kết quả của việc nhóm đoạn 6 bit. Đó là 2 lũy thừa 6 = 64

Quảng cáo

 

Bước 4. Chuyển đổi từng khối 6 bit thành số thập phân tương ứng

Nhị phânDecimal0 1 0 0 1 0180 0 0 1 1 060 1 0 1 0 1211 1 1 0 0 157

 

Bước 5. Tìm ánh xạ tương đương của từng số thập phân tương đương bước 4 trong Bảng chỉ mục Base64

Giải mã NodeJS base64

Do đó, dạng mã hóa của Hey là SGV5

Điểm yếu của mã hóa thủ công là tẻ nhạt và tốn thời gian. Đó là lý do tại sao bạn nên kiểm tra mã hóa đầu cuối

 

mã hóa đầu cuối

Bạn có thể chuyển một chuỗi thành lệnh base64 trên thiết bị đầu cuối

echo  | base64

Ví dụ: chúng ta có thể mã hóa "Tuyệt vời" như sau

________số 8

Kết quả là R3JlYXQK

Ngược lại, chúng ta có thể giải mã dữ liệu được mã hóa bằng tùy chọn

echo "Great" | base64
6

import decode from 'decode-base64';

decode ( 'base64 string here...' ); // => Uint8Arrays
7

Ví dụ: chúng ta có thể giải mã "R3JlYXQK" như sau

import decode from 'decode-base64';

decode ( 'base64 string here...' ); // => Uint8Arrays
8

Kết quả là tuyệt vời

Quảng cáo

Giải mã NodeJS base64
Giải mã NodeJS base64

Mặc dù bạn có thể mã hóa dữ liệu trên thiết bị đầu cuối, nhưng việc sử dụng môi trường thời gian chạy hoặc ngôn ngữ lập trình và trình chỉnh sửa mã sẽ đơn giản hóa việc xử lý dữ liệu phức tạp. Hãy để chúng tôi khám phá điều đó bằng cách sử dụng mã hóa Nodejs base64

CŨNG ĐỌC. Cách thêm Nút. chức năng ngủ js [Ví dụ thực tế]

 

Nodejs mã hóa base64 với các ví dụ

Hiểu mã hóa Nodejs base64 bắt đầu bằng cách biết môi trường thời gian chạy xử lý truyền dữ liệu như thế nào. Một trong những điểm bán hàng của Nodejs là tốc độ truyền dữ liệu nhanh

Việc truyền dữ liệu nhanh chóng có thể thông qua luồng đơn. Thay vì đợi một đoạn dữ liệu đến trước khi sử dụng nó, Nodejs gửi các phần dữ liệu nhỏ hơn trong các luồng. Dữ liệu sẵn sàng để tiêu thụ được gọi là Bộ đệm và được lưu trữ tạm thời trong bộ nhớ máy tính

Mặc dù Nodejs xử lý quản lý bộ đệm trong nội bộ, chúng tôi có thể tạo một bộ đệm cho mục đích demo

import decode from 'decode-base64';

decode ( 'base64 string here...' ); // => Uint8Arrays
9

Như bạn có thể thấy, Bộ đệm là một mảng các bit. Chúng ta có thể sử dụng nó để mã hóa Nodejs base64 như sau

 

Ví dụ 1. Nodejs base64 mã hóa một chuỗi

Một chuỗi là một tập hợp các ký tự. Vì vậy, mã hóa một chuỗi ngụ ý ánh xạ từng ký tự tới Bảng chỉ mục Base64, như chúng tôi đã thực hiện thủ công trong phần hai của hướng dẫn này

Giả sử chúng ta muốn mã hóa, "Ahmed thích lập trình. " Chúng ta có thể đạt được điều đó như sau

new Buffer.from().toString('base64')
0

Tương tự, chúng ta có thể giải mã thông báo như sau

new Buffer.from().toString('base64')
1
new Buffer.from().toString('base64')
2

Ở đây, tôi đang gọi một thể hiện của lớp Buffer toàn cầu với phương thức

echo "Great" | base64
7 để mã hóa dữ liệu, Ahmed thích lập trình, thành base64 và sau đó giải mã nó thành ASCII

CŨNG ĐỌC. Làm cách nào để sử dụng toán tử instanceof của JavaScript?

Định dạng mã hóa tương tự áp dụng cho các loại tệp khác như HTML, JSON hoặc hình ảnh

Quảng cáo

 

Ví dụ-2. Nodejs base64 mã hóa JSON

Tạo tệp,

echo "Great" | base64
8 và
echo "Great" | base64
9. Giả sử chúng tôi muốn đọc và mã hóa tệp
echo "Great" | base64
8. Chúng ta có thể làm điều đó như sau

Thêm các nội dung sau vào

echo "Great" | base64
8

new Buffer.from().toString('base64')
8

Mở tệp

echo "Great" | base64
9, đọc và mã hóa tệp
echo "Great" | base64
8 như sau

echo  | base64
0

Kết quả là

echo  | base64
1

 

Giả sử, chúng tôi chỉ muốn mã hóa số điện thoại của Ervin Howell (từ tệp JSON), chúng tôi có thể thực hiện như sau

echo  | base64
2____33

 

CŨNG ĐỌC. Sử dụng thử bắt cuối cùng trong Nút. js [Các phương pháp hay nhất]

Ví dụ-3. Nodejs base64 mã hóa một hình ảnh

Giả sử chúng tôi muốn mã hóa hình ảnh được liên kết

Chúng tôi có thể tải xuống, tạo máy chủ, tải hình ảnh lên, mã hóa và lưu trữ trong thư mục. Phần mềm trung gian của Nodejs như ghê gớm hoặc multer có thể trợ giúp trong quá trình tải lên

Thay vào đó, chúng tôi sẽ tải xuống hình ảnh dưới dạng

import decode from 'decode-base64';

decode ( 'base64 string here...' ); // => Uint8Arrays
74. Tiếp theo, Nodejs base64 encode image, tạo thư mục, giải mã và copy image vào đó

echo  | base64
4

Mở thư mục mới

Giải mã NodeJS base64
Giải mã NodeJS base64

Và thì đấy, chúng ta có thể mã hóa/giải mã base64 một hình ảnh và sao chép nó vào thư mục mới

 

Phần kết luận

Nó giúp có kiến ​​thức sâu về mã hóa Nodejs base64. Sau đó, bạn có thể áp dụng nó trong mã hóa văn bản, JSON và mã hóa hình ảnh, như được giải thích trong hướng dẫn này

Làm cách nào để giải mã từ Base64 trong nodejs?

Giải mã Base64 . create a buffer from the Base64 encoding string by using base64 as the second parameter to Buffer. from() rồi giải mã nó thành chuỗi UTF-8 bằng cách sử dụng phương thức toString().

Làm cách nào để sử dụng Base64 trong nodejs?

Mã hóa chuỗi gốc thành base64. Lớp đệm trong nút. js có thể được sử dụng để chuyển đổi một chuỗi thành một chuỗi byte. Điều này có thể được thực hiện bằng cách sử dụng Bộ đệm. phương thức from() chấp nhận chuỗi được chuyển đổi và mã hóa hiện tại của chuỗi .

Làm cách nào để tạo chuỗi được mã hóa Base64 trong nút js?

Cách dễ nhất để mã hóa chuỗi Base64 trong Node. js là thông qua đối tượng Bộ đệm . trong nút. js, Bộ đệm 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 Bộ đệm trong các ứng dụng của mình.

Atob có bị phản đối trong JavaScript không?

atob(). trả về một chuỗi trong đó mỗi ký tự đại diện cho một byte 8 bit. Các hàm btoa và atob này không được dùng cho Node JS . Nếu bạn đang viết mã cho trình duyệt web, bạn chỉ cần thêm vào trước cửa sổ để loại bỏ dấu phản đối này.