
Text 作为起点
Text 至 Blob
javascript
const blob = new Blob(["Hello, world!"], {
type: "text/plain"
});
console.log(blob)
Text 至 File
javascript
const file = new File(["Hello, world!"], "hello.txt", {
type: "text/plain"
});
console.log(file)
Text 至 Base64
0-255以内的字符,属于 Latin1 字符集
javascript
const text = "Hello World";
console.log(window.btoa(text));
包含中文等...,属于 Unicode 字符集
encodeURIComponent
javascript
const text = "w爱n";
let encodedString = encodeURIComponent(text);
console.log(window.btoa(encodedString));
encodeURIComponent
要配合 encodeURIComponent
一同使用哦!!!
TextEncoder 配合 fromCharCode
javascript
const text = "w爱n";
const buffer = new TextEncoder().encode(text)
let chats = [];
for (let i = 0; i < buffer.length; i++) {
chats.push(String.fromCharCode(buffer[i]));
}
chats = chats.join("")
console.log(window.btoa(chats));
FileReader
javascript
const text = "w爱n";
const file = new File([text], "text.txt", { type: "text/plain" });
const render = new FileReader();
render.readAsDataURL(file);
render.onload = function () {
console.log(render.result);
}
Blob作为起点
Blob 至 File
javascript
const blob = new Blob(["Hello, world!"], {
type: "text/plain"
});
const file = new File([blob], "hello.txt", {
type: "text/plain"
});
console.log(file)
Blob 至 Text
javascript
const blob = new Blob(["Hello, world!"], {
type: "text/plain"
});
const reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsText(blob);
Blob 至 Base64
javascript
const blob = new Blob(["Hello, world!"], {
type: "text/plain"
});
const reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsDataURL(blob);
Blob 至 ArrayBuffer
javascript
const blob = new Blob(["Hello, world!"], {
type: "text/plain"
});
const reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsArrayBuffer(blob);
Blob 至 ObjectURL
javascript
const blob = new Blob(["Hello, world!"], {
type: "text/plain"
});
const objectUrl = URL.createObjectURL(blob);
console.log(objectUrl);
File作为起点
File 至 Text
javascript
const file = new File(["Hello, world!"], "hello.txt", {
type: "text/plain"
});
const reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsText(file);
File 至 Base64
javascript
const file = new File(["Hello, world!"], "hello.txt", {
type: "text/plain"
});
const reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsDataURL(file);
File 至 ArrayBuffer
javascript
const file = new File(["Hello, world!"], "hello.txt", {
type: "text/plain"
});
const reader = new FileReader();
reader.onload = function () {
console.log(reader.result);
};
reader.readAsArrayBuffer(file);
File 至 ObjectURL
javascript
const file = new File(["Hello, world!"], "hello.txt", {
type: "text/plain"
});
const objectUrl = URL.createObjectURL(file);
console.log(objectUrl);
ArrayBuffer 作为起点
ArrayBuffer 至 Blob
javascript
const buffer = new ArrayBuffer(8);
const blob = new Blob([buffer], {
type: "text/plain"
});
console.log(blob)
ArrayBuffer 至 File
javascript
const buffer = new ArrayBuffer(8);
const file = new File([buffer], "file.txt", {
type: "text/plain",
});
console.log(file)
Base64作为起点
Base64 至 ArrayBuffer
javascript
const base64String = "d+eIsW4=";
const binaryString = window.atob(base64String);
const bytes = new Uint8Array(binaryString.length);
for (let i = 0; i < binaryString.length; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
console.log(bytes.buffer);
Base64 至 Text
0-255以内的字符,属于 Latin1 字符集
javascript
const base64String = "SGVsbG8gV29ybGQ=";
console.log(window.atob(base64String));
包含中文等...,属于 Unicode 字符集
javascript
const text = "dyVFNyU4OCVCMW4=";
let encodedString = decodeURIComponent(window.atob(text));
console.log(encodedString);
encodeURIComponent
要配合 encodeURIComponent
一同使用哦!!!
TextDecoder 配合 charCodeAt
javascript
const base64String = "d+eIsW4=";
const binaryString = window.atob(base64String);
const bytes = new Uint8Array(binaryString.length);
for (let i = 0; i < binaryString.length; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
console.log(new TextDecoder().decode(bytes));