Nhị phân thành chuỗi nodejs

Phương thức btoa() tạo một chuỗi ASCII được mã hóa Base64 từ một chuỗi nhị phân (i. e. , một chuỗi trong đó mỗi ký tự trong chuỗi được coi là một byte dữ liệu nhị phân)

Bạn có thể sử dụng phương pháp này để mã hóa dữ liệu có thể gây ra sự cố giao tiếp, hãy truyền nó, sau đó sử dụng phương pháp atob() để giải mã lại dữ liệu. Ví dụ: bạn có thể mã hóa các ký tự điều khiển chẳng hạn như các giá trị ASCII từ 0 đến 31

btoa(stringToEncode)

const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string
0

Chuỗi nhị phân để mã hóa

Một chuỗi ASCII chứa biểu diễn Base64 của

const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string
0

const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string
2
const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string
0

Chuỗi chứa một ký tự không vừa với một byte. Xem "Chuỗi Unicode" bên dưới để biết thêm chi tiết

const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string

Hàm btoa() lấy một chuỗi JavaScript làm tham số. Trong các chuỗi JavaScript được biểu diễn bằng mã hóa ký tự UTF-16. trong cách mã hóa này, các chuỗi được biểu diễn dưới dạng một chuỗi các đơn vị 16 bit (2 byte). Mỗi ký tự ASCII phù hợp với byte đầu tiên của một trong các đơn vị này, nhưng nhiều ký tự khác thì không

Base64, theo thiết kế, mong đợi dữ liệu nhị phân làm đầu vào của nó. Về chuỗi JavaScript, điều này có nghĩa là các chuỗi trong đó mỗi ký tự chỉ chiếm một byte. Vì vậy, nếu bạn chuyển một chuỗi vào btoa() chứa các ký tự chiếm nhiều hơn một byte, bạn sẽ gặp lỗi vì đây không được coi là dữ liệu nhị phân

const ok = "a";
console.log(ok.codePointAt(0).toString(16)); //   61: occupies < 1 byte

const notOK = "✓";
console.log(notOK.codePointAt(0).toString(16)); // 2713: occupies > 1 byte

console.log(btoa(ok)); // YQ==
console.log(btoa(notOK)); // error

Nếu bạn cần mã hóa văn bản Unicode dưới dạng ASCII bằng cách sử dụng btoa(), một tùy chọn là chuyển đổi chuỗi sao cho mỗi đơn vị 16 bit chỉ chiếm một byte. Ví dụ

// convert a Unicode string to a string in which
// each 16-bit unit occupies only one byte
function toBinary(string) {
  const codeUnits = Uint16Array.from(
    { length: string.length },
    (element, index) => string.charCodeAt(index)
  );
  const charCodes = new Uint8Array(codeUnits.buffer);

  let result = "";
  charCodes.forEach((char) => {
    result += String.fromCharCode(char);
  });
  return result;
}

// a string that contains characters occupying > 1 byte
const myString = "☸☹☺☻☼☾☿";

const converted = toBinary(myString);
const encoded = btoa(converted);
console.log(encoded); // OCY5JjomOyY8Jj4mPyY=

Nếu bạn làm điều này, tất nhiên bạn sẽ phải đảo ngược chuyển đổi trên chuỗi đã giải mã

function fromBinary(binary) {
  const bytes = Uint8Array.from({ length: binary.length }, (element, index) =>
    binary.charCodeAt(index)
  );
  const charCodes = new Uint16Array(bytes.buffer);

  let result = "";
  charCodes.forEach((char) => {
    result += String.fromCharCode(char);
  });
  return result;
}

const decoded = atob(encoded);
const original = fromBinary(decoded);
console.log(original); // ☸☹☺☻☼☾☿

Xem thêm ví dụ về hàm

const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string
4 và
const encodedData = btoa("Hello, world"); // encode a string
const decodedData = atob(encodedData); // decode the string
5 trong mục thuật ngữ Base64

Làm cách nào để chuyển đổi nhị phân sang Base64 trong nodejs?

Cách thực hiện… Đầu tiên, bạn sẽ phân bổ một vùng đệm, sau đó bạn sẽ chuyển đổi nó thành một chuỗi, cho biết rằng chuỗi bạn muốn phải được mã hóa base64, như thế này. var buffer = newBuffer('Xin chào thế giới'); . toString('base64');

Làm cách nào để chuyển đổi dữ liệu thành chuỗi trong nút js?

Chuyển đổi giá trị thành chuỗi . calling either String() or n. toString() .

Làm cách nào để chuyển đổi nhị phân thành chuỗi trong JavaScript?

nhị phân = nhị phân. split(' '); //chuyển đổi từ nhị phân sang thập phân, sau đó sang ký tự. Kết quả là ta nhận được một mảng ký tự vì phương thức map trả về một mảng mới. Chúng tôi đã sử dụng phương thức nối ("") để chuyển đổi mảng ký tự thành một chuỗi (câu).

Làm cách nào để chuyển đổi 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);