JavaScript
[JavaScript] 글자 수 Byte 체크 함수
Yoon
2021. 8. 31. 18:10
Byte
대부분의 컴퓨터 시스템에서, 8 비트 길이를 가지는 정보의 기본 단위를 바이트라고 한다. 영어와 숫자 그리고 특수문자(아스키 문자표에 있는) 등의 경우 한 글자를 표현하는데 1 바이트가 필요하지만, 한글이나 한자 등은 한 글자를 표현하는데 2 바이트가 소요된다.
입력 기능을 만들면서 글자 수 제한 기능을 만들 때 예를 들어
Input 태그의 maxLength 속성을 주어 지정한 글자 수를 넘으면 더는 입력 불가하도록 만들 수 있지만,
더 정확하게 Byte를 체크하여 서버나 DB에 고려하는 것도 좋은 방법이다.
옛날 브라우저에서는 입력 폼을 전송할 때 한글일 경우100타, 영어일 경우 200타까지만 전송한다고 한다.
위 함수 처럼 문자열을 가져와서 한 문자씩 검사하는 것이다.
escape함수를 이용하면 한 문자를 16진수로 반환하기 때문에
한글일 경우 2byte, 그 외 (영어, 숫자 등)는 1byte로 연산하여
바이트 수를 체크할 수 있는 로직을 구현할 수 있다.