맛집 여행 캠핑 일상 생활

JAVASCRIPT SMS 문자열 바이트 계산 본문

JAVASCRIPT

JAVASCRIPT SMS 문자열 바이트 계산

영은파더♥ 2016. 9. 9. 11:48

JAVASCRIPT SMS 문자열 바이트 계산


SMS 인지 LMS 인지 판단 하기 위해서 문자열의 바이트 계산이 필요해서 만들어 보았다.

여러번 테스트 해서 얻은 결과물이다.

하지만 또다른 코드값이 있을 수는 있다.

php 의 addslashes 처럼 역슬래쉬 문자가 붙는 특수문자는 쌍따옴표("), 따옴표('), 슬래쉬(/), 역슬래쉬(\), 파이프라인(|) 이다.

이 문자는 문자전송시에 역슬래쉬 문자가 붙어서 전송되므로 1바이트씩 늘어나게 된다.

그리고 아스키코드가 아닌 문자는 2바이트로 계산되어 진다.

마지막으로 엔터문자는 브라우저 마다 다른데 "\n" 만 붙는게 있고 "\r\n" 으로 값이 들어오는 것도 있다.

뭐 어쨌든 엔터문자는 1바이트로 계산을 하면 된다.

function get_sms_length(str) { // 예전엔 80바이트 이하, 지금은 90바이트 이하 단문(SMS), 초과 장문(LMS)

var len = 0;

for(var i=0; i<str.length; i++) {

var c = str.charCodeAt(i);

if(c > 128 || c == 0x22 || c == 0x27 || c == 0x2F || c == 0x5C || c == 0x7C) { // ", ', /, \, |

len += 2;

} else if(c == 0x0D) { // 0x0A 에서 1카운트 0x0D 는 무시

len += 0;

} else {

len += 1;

}

}

return len;

}

모든 아스키코드를 돌려본게 아니라서 장담은 하지 못함.


Trackback : | Comments :