맛집 여행 캠핑 일상 생활

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

JAVASCRIPT

JAVASCRIPT SMS 문자열 바이트 계산

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

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;

}

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


728x90
반응형
Trackback : | Comments :