자바스크립트 문자열의 크기를 바이트 단위로 계산
질문은 자바스크립트 문자열의 크기를 바이트 단위로 결정하는 것과 관련됩니다. 서버에서 수신한 약 500K의 UTF-8 인코딩 문자열을 사용하여 JavaScript의 UCS-2 사용, JavaScript 구현의 잠재적 변형, 페이지 인코딩 또는 콘텐츠 유형의 영향 등 문자열 크기에 영향을 미치는 요소를 조사합니다. .
JavaScript에서 문자열 크기 결정
문자열 크기를 바이트 단위로 얻으려면 Blob 객체를 사용할 수 있습니다. Blob 생성자는 측정할 문자열이 포함된 배열을 사용합니다. 그런 다음 결과 Blob 객체의 크기 속성은 크기를 바이트 단위로 제공합니다.
JavaScript 문자열 크기 계산의 예
설명을 위해 다음은 문자열의 몇 가지 예입니다. 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)
);
고려할 추가 요소
JavaScript는 주로 UCS-2를 사용하지만 특정 구현은 이 표준에서 벗어날 수 있습니다. 또한 페이지 인코딩 및 콘텐츠 유형이 문자열의 크기 표현에 영향을 미칠 수 있습니다. 잠재적인 차이가 있는지 특정 JavaScript 구현 및 브라우저 환경을 통해 확인하는 것이 중요합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3