Calculando o tamanho de uma string JavaScript em bytes
A questão gira em torno de determinar o tamanho de uma string JavaScript em bytes. Com uma string codificada em UTF-8 recebida do servidor medindo aproximadamente 500K, a investigação explora fatores que influenciam o tamanho da string, incluindo o uso de UCS-2 em JavaScript, possíveis variações nas implementações de JavaScript e o impacto da codificação da página ou do tipo de conteúdo. .
Determinando o tamanho de uma string em JavaScript
Para obter o tamanho de uma string em bytes, o objeto Blob pode ser empregado. O construtor Blob utiliza um array contendo a string a ser medida. A propriedade size do objeto Blob resultante fornece o tamanho em bytes.
Exemplos de cálculo de tamanho de string JavaScript
Para fins ilustrativos, aqui estão alguns exemplos de string tamanhos calculados usando o objeto Blob:
console.info(
new Blob(['?']).size, // 4
new Blob(['?']).size, // 4
new Blob(['??']).size, // 8
new Blob(['??']).size, // 8
new Blob(['I\'m a string']).size, // 12
// from Premasagar correction of Lauri's answer for
// strings containing lone characters in the surrogate pair range:
// https://stackoverflow.com/a/39488643/6225838
new Blob([String.fromCharCode(55555)]).size, // 3
new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6)
);
Fatores adicionais a serem considerados
Embora o JavaScript empregue principalmente UCS-2, certas implementações podem divergir deste padrão. Além disso, a codificação da página e o tipo de conteúdo podem influenciar a representação do tamanho da string. É importante verificar se há possíveis variações na implementação específica do JavaScript e no ambiente do navegador.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3