자바스크립트 문자열 바이트(Byte) 계산 하는법

작성일   2020. 12. 9. 16:46  

자바스크립트 문자열 바이트(Byte) 계산하는 방법입니다.  아래는 한글일 경우 2바이트, 영문 등은 1바이트로 계산하는 코드입니다. 

ES6 문법

const getTextLength = str => {
  let len = 0;
  for (let i = 0; i < str.length; i++) {
      if (escape(str.charAt(i)).length > 4) {
          len++;
      }
      len++;
  }
  return len;
}

ES5 문법

function getTextLength(str) {
  var len = 0;
  for (var i = 0; i < str.length; i++) {
      if (escape(str.charAt(i)).length > 4) {
          len++;
      }
      len++;
  }
  return len;
}

(주의, UTF-8 인코딩 시 한글이 2바이트가 아니고 3바이트여야 합니다. 위 코드는 해당 고려없이 단순하게 한글이 2바이트로 계산됩니다. 실제 바이트를 구해야한다면 이 부분을 추가로 고려해야 합니다.)