Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

271
Views
¿Por qué las cadenas de JavaScript usan UTF-16 pero el tamaño real de un carácter puede ser de solo un byte?

según este artículo :

Internamente, el código fuente de JavaScript se trata como una secuencia de unidades de código UTF-16.

Y este documento de IBM dice que:

UTF-16 se basa en unidades de código de 16 bits. Por lo tanto, cada carácter puede tener 16 bits (2 bytes) o 32 bits (4 bytes).

Pero probé en la consola de Chrome que las letras en inglés solo ocupan 1 byte, no 2 o 4.

new Blob(['a']).size === 1

Me pregunto por qué ese es el caso. ¿Me estoy perdiendo de algo?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Internamente, el código fuente de JavaScript se trata como una secuencia de unidades de código UTF-16.

Tenga en cuenta que esto se refiere al código fuente, no a los valores de cadena. Se hace referencia a los valores de cadena para que también sean UTF-16 más adelante en el artículo:

Cuando una cadena contiene datos textuales reales, cada elemento se considera una sola unidad de código UTF-16.

La discrepancia aquí está realmente en el constructor Blob. Desde MDN :

Tenga en cuenta que las cadenas aquí están codificadas como UTF-8, a diferencia de las cadenas JavaScript UTF-16 habituales.

about 4 years ago · Juan Pablo Isaza Report

0

UTF tiene un tamaño de carácter variable.

a tiene un tamaño de 1 byte, pero ą por ejemplo tiene 2

 console.log('a', new Blob(['a']).size) console.log('ą', new Blob(['ą']).size)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!