Làm cách nào để giải mã bộ đệm trong nodejs?
Nhị phân chỉ đơn giản là một tập hợp hoặc một tập hợp của 9 và 0. Mỗi số trong hệ nhị phân, mỗi số 1 và 0 trong tập hợp được gọi là một bit. Máy tính chuyển đổi dữ liệu sang định dạng nhị phân này để lưu trữ và thực hiện các thao tác. Ví dụ, sau đây là năm nhị phân khác nhau Show
0JavaScript không có dữ liệu loại byte trong API cốt lõi của nó. Để xử lý dữ liệu nhị phân Node. js bao gồm triển khai bộ đệm nhị phân với mô-đun toàn cầu có tên là 1Tạo bộ đệmCó nhiều cách khác nhau để bạn có thể tạo bộ đệm trong Node. js. Bạn có thể tạo một bộ đệm trống với kích thước 10 byte
Từ các chuỗi được mã hóa UTF-8, việc tạo ra như thế này
Có các mã hóa được chấp nhận khác nhau khi tạo Bộ đệm
Có ba chức năng riêng biệt được phân bổ trong API bộ đệm để sử dụng và tạo bộ đệm mới. Trong các ví dụ trên, chúng ta đã thấy 2 và 3. Cái thứ ba là 4
Khi trả về, hàm này có thể chứa dữ liệu cũ cần ghi đè Tương tác với bộ đệmCó các tương tác khác nhau có thể được thực hiện với API bộ đệm. Chúng tôi sẽ bao gồm hầu hết trong số họ ở đây. Hãy để chúng tôi bắt đầu với việc chuyển đổi bộ đệm thành JSON ________số 8JSON chỉ định rằng loại đối tượng được chuyển đổi là Bộ đệm và dữ liệu của nó. Chuyển đổi bộ đệm trống thành JSON sẽ cho chúng ta thấy rằng nó không chứa gì ngoài số không
Xin lưu ý rằng, API bộ đệm cũng cung cấp hàm trực tiếp 5 để chuyển đổi bộ đệm thành đối tượng JSON. Để kiểm tra kích thước của bộ đệm, chúng ta có thể sử dụng phương pháp 6 2Bây giờ hãy để chúng tôi chuyển đổi bộ đệm thành một chuỗi có thể đọc được, trong trường hợp của chúng tôi, mã hóa utf-8 3 7 theo mặc định chuyển đổi bộ đệm thành chuỗi định dạng utf-8. Đây là cách bạn giải mã một bộ đệm. Nếu bạn chỉ định mã hóa, bạn có thể chuyển đổi bộ đệm sang mã hóa khác 5Thông tin thêm về bộ đệm
QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Nếu bài viết này hữu ích, hãy tweet nó Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu 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 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à 6Bạ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 7Khô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 8Cuố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, 1 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 1 trong các ứng dụng của mìnhBên trong 1 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 1 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 1. Lưu đoạn mã sau vào tệp "encode-text. js" 9Hã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 0Ở đầ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 1Thê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 2Trong đ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 74 của mô-đun 75. 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 5Mặ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ụ 6Ở đâ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 sẽ được nhận từ mộ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 1. Khi tạo bộ đệm, chúng tôi cho biết bộ đệm ở định dạng 77, 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 1 sang phương thức 79 của chúng tôi và nó sẽ thực hiện chuyển đổi cho chúng tôiPhần 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 1 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
Làm cách nào để chuyển đổi bộ đệm thành chuỗi trong nodejs?Tóm lại, thật dễ dàng để chuyển đổi một đối tượng Bộ đệm thành một chuỗi bằng cách sử dụng phương thức toString() . Thông thường, bạn sẽ muốn mã hóa UTF-8 mặc định nhưng có thể chỉ định một mã hóa khác nếu cần. Để chuyển đổi từ một chuỗi thành một đối tượng Bộ đệm, hãy sử dụng Bộ đệm tĩnh.
Làm cách nào để giải mã bộ đệm nhị phân thành hình ảnh trong nút js?từ (dữ liệu); . from(data, 'binary') let imgData = new Blob(binary. bộ đệm, { loại. 'application/octet-binary' }); . tạoObjectURL(imgData);
Làm cách nào để giải mã một chuỗi trong nút js?Có thể truy cập nó bằng cách sử dụng. const { StringDecoder } = yêu cầu('nút. string_decoder'); Ví dụ sau minh họa cách sử dụng cơ bản của lớp StringDecoder. const { StringDecoder } = yêu cầu ('nút. string_decoder'); .
Bạn sẽ chuyển đổi bộ đệm thành JSON trong nút JS như thế nào?Bộ đệm . toJSON() method trả về bộ đệm ở định dạng JSON. Ghi chú. JSON. Stringify() là phương thức cũng có thể được sử dụng để trả về dữ liệu ở định dạng JSON. |