자바스크립트 문자열 바이트(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바이트로 계산됩니다. 실제 바이트를 구해야한다면 이 부분을 추가로 고려해야 합니다.)