JavaScript

[JavaScript] 글자 수 Byte 체크 함수

Yoon 2021. 8. 31. 18:10

Byte

대부분의 컴퓨터 시스템에서, 8 비트 길이를 가지는 정보의 기본 단위를 바이트라고 한다. 영어와 숫자 그리고 특수문자(아스키 문자표에 있는) 등의 경우 한 글자를 표현하는데 1 바이트가 필요하지만, 한글이나 한자 등은 한 글자를 표현하는데 2 바이트가 소요된다.


 

 

입력 기능을 만들면서 글자 수 제한 기능을 만들 때 예를 들어

Input 태그의 maxLength 속성을 주어 지정한 글자 수를 넘으면 더는 입력 불가하도록 만들 수 있지만,

 

더 정확하게 Byte를 체크하여 서버나 DB에 고려하는 것도 좋은 방법이다.

옛날 브라우저에서는 입력 폼을 전송할 때 한글일 경우100타, 영어일 경우 200타까지만 전송한다고 한다.

 

위 함수 처럼 문자열을 가져와서 한 문자씩 검사하는 것이다.

escape함수를 이용하면 한 문자를 16진수로 반환하기 때문에

한글일 경우 2byte, 그 외 (영어, 숫자 등)는 1byte로 연산하여

바이트 수를 체크할 수 있는 로직을 구현할 수 있다.