Converter bytes em KB, MB ou GB em JavaScript

Neste artigo você verá como converter bytes em KB, MB ou GB em JavaScript, vamos criar uma função que dará conta do trabalho

Converter bytes em KB capa

Fala programador(a), beleza? Bora aprender sobre conversão de tipos em JavaScript!

Provavelmente você está recebendo um valor em bytes e quer converter nestas outras unidades

Isso serve para representação mais simples, ajudando pessoas mais leigas ou técnicas a entender mais fácil o tamanho de um arquivo

Um snippet foi criado pela comunidade do StackOverFlow, que descomplica isso a níveis extremos

Veja o código na íntegra:

function formatBytes(bytes, decimals = 2) {
    if (bytes === 0) return '0 Bytes';

    const k = 1024;
    const dm = decimals < 0 ? 0 : decimals;
    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];

    const i = Math.floor(Math.log(bytes) / Math.log(k));

    return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
}

const size = 3843247924

const convertedSize = formatBytes(size)

console.log(convertedSize) // 3.58 GB
Formação Vibe Coding
Formação Recomendada

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Veja que temos a função formatBytes, ela recebe um número e o formata de acordo com o tamanho dele

Temos a variável size que apresenta os tamanhos disponíveis em array

E no return temos o cálculo de qual unidade o tamanho passado pertence

Convertemos o número para o tamanho final e acessamos o array para exibir a unidade de medida

Conclusão

No artigo de hoje você viu como converter bytes em KB e também outra unidades

Utilizamos uma função que identifica o número passado e entrega a melhor unidade de medida possível

E então temos a representação do número e a sua unidade convertida (‘KB’, ‘MB’, ‘GB’, ‘TB’, ‘PB’, ‘EB’, ‘ZB’, ‘YB’)

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias! Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os cursos

Fala aí, imagina que caiu na sua mão um valor cru tipo 17637285 e você só quer saber quantos MB é isso em JavaScript

É só jogar o número dentro da função formatBytes e ela resolve pra você

[bloco de código] const size = 17637285

console.log(formatBytes(size)) // 16.82 MB

Repara que você não precisa fazer conta na mão

A função pega o número em bytes, descobre sozinha em qual unidade ele se encaixa melhor e já devolve com a medida certinha do lado

Muda o valor de size pelo seu e roda de novo, o resultado sai na hora

Talvez você queira entender o PORQUÊ, não só copiar a função

A lógica é toda em cima de 1024, que é a base binária usada pra medir tamanho de arquivo

Cada degrau de unidade é o anterior multiplicado por 1024

1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB

Então pra ir de bytes pra KB você divide por 1024

Pra ir de bytes direto pra MB você divide por 1024 duas vezes (ou por 1024 * 1024)

Pra GB, três vezes

É exatamente isso que aquele Math.pow(k, i) tá fazendo lá dentro da função, ele só automatiza a divisão pelo número certo de degraus

Se você conhece regra de três, é bem parecido, só que a base aqui é 1024 e não 1000

Como converter bytes para MB em JavaScript?

Você divide o valor em bytes por 1024 duas vezes, uma pra chegar em KB e outra pra chegar em MB

Na prática dá pra deixar a função formatBytes fazer isso sozinha, é só passar o número em bytes que ela devolve já na unidade certa

Quantos bytes tem 1 MB?

Na base binária, 1 MB é 1024 KB, e cada KB é 1024 bytes

Ou seja, 1 MB = 1024 * 1024 bytes

Por que usar 1024 e não 1000 na conversão?

Porque tamanho de arquivo costuma ser medido em base binária (potências de 2), e 1024 é 2 elevado a 10

Algumas ferramentas usam 1000 pra deixar a conta ‘redonda’ pro usuário comum, mas o padrão que a função usa aqui é 1024

Como converter bytes para KB, MB ou GB de uma vez só?

É pra isso que a função serve, ela mesma identifica em qual unidade o número se encaixa melhor e já entrega formatado, você não escolhe a unidade na mão

Leia também

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Formações

Formação SAAS com IA

Formação SAAS com IA

Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!

  • 291 aulas
  • 18 projetos
  • 24h 17min

Blog | Mais populares