JavaScript 문자열 크기(바이트)
문제:
다음을 차지하는 JavaScript 문자열이 있습니다. UTF-8 인코딩으로 서버를 통해 전송되는 경우 약 500KB입니다. JavaScript에서 크기를 어떻게 확인할 수 있습니까?
배경:
JavaScript는 일반적으로 문자당 2바이트를 사용하는 UCS-2 인코딩을 사용합니다. 그러나 JavaScript 구현 또는 페이지/컨텐츠 유형 인코딩의 잠재적인 변화는 이것이 지속적인 관계인지 여부에 대한 의문을 제기합니다.
답변:
문자열의 크기를 얻으려면 바이트인 경우 다음과 같이 Blob 생성자를 활용합니다.
<code class="javascript">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 // Correction for strings with lone characters in the surrogate pair range: new Blob([String.fromCharCode(55555)]).size, // 3 new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6) );</code>
설명:
Blob 개체를 사용하면 이진 데이터를 나타내고 해당 크기를 바이트 단위로 검색할 수 있습니다. 배열 내의 문자열을 Blob 생성자에 전달하면 문자 인코딩이나 구현의 잠재적 변화에 관계없이 실제 크기를 얻을 수 있습니다.
위 내용은 JavaScript 문자열의 크기를 바이트 단위로 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!