У меня есть приложение, которое загружает текст пользователя через XMLHttpRequest и возвращает его в двоичном формате. Я понимаю, что основное различие между 8, 16 и 32 - это количество байтов на элемент, но я не знаю, когда их использовать.
Например, для моего приложения, поскольку текстовый файл может содержать любые возможные символы, какой из них будет лучшим?
Я пробовал разные файлы, в том числе тот, в котором были эмодзи, и казалось, что в массиве Uint8 эмодзи занимало 4 индекса.
Есть ли какая-то причина, по которой я не должен использовать Uint8Array для своего использования, или есть причина, по которой я должен динамически выбирать, когда файл читается? Я прочитал MDN документы на каждом, но, похоже, они не дают особого понимания, кроме размера байта.
Вот код, который я сейчас использую для загрузки файла:
asset= new XMLHttpRequest();
asset.addEventListener('readystatechange', function load() {
if (asset.readyState == 4 && asset.data.status == 200) {
const arrayBuffer = asset.data.response;
if (arrayBuffer) asset.data = new Uint8Array(arrayBuffer);
}
}.bind(this), false);
// Error handling.
asset.responseType = 'arraybuffer';
asset.open('GET', asset.src);
asset.send();