관리 메뉴

Kinesis´s Open Document

자바스크립트 문자열 바이트 계산 함수 본문

MEMO/기술 자료/Javascript

자바스크립트 문자열 바이트 계산 함수

Kinesis 2013. 3. 15. 09:53
반응형

인터넷 중에 떠돌아 다니는 자바스크립트들 중에 썩 마음에 드는 코드들이 없어 개인적으로 다시 정리하고 있는 자바스크립트 함수 중 "문자열 바이트 계산 함수"를 정리해 놓는다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*·Integer·(Number)·:::·String-Object.Length·()·*/¬
String.prototype.Length·=·function·()·{¬
····var·len·=·0;¬
····var·arg·=·arguments[0]·===·undefined·?·this.toString()·:·arguments[0];¬
····for·(var·i·=·0;·i·<·arg.length;·i++)·{¬
········var·_ch·=·arg[i].charCodeAt();¬
········if·(_ch·>=·0x0080·&&·_ch·<=·0xFFFF)·{·len·+=·2;·}¬
········else·{·len++;·}¬
····}¬
¬
····return·len;¬
};¬
¬
¬
/*·Integer·(Number)·:::·String.Length·(String·arg)·*/¬
String.Length·=·function·(arg)·{·¬
····if·(arg·===·undefined·||·arg·===·null)·{·¬
········throw·"Property·or·Arguments·was·Never·Null.";·¬
····}·else·{·¬
········if·(typeof·(arg)·!=·"string")·{·throw·"Property·or·Arguments·was·not·'String'·Types.";·}¬
········else·{·return·arg.Length();·}¬
····}¬
};
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

prototype 과 String.Length 가 하나의 세트로 String.Length 는 prototype 함수에 의존성을 갖는다.

사용 방법은 다음과 같다.

1
2
3
4
5
//·Prototype··¬
¬
"Hello·World!".Length();¬
¬
//··:·12
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
또는
1
2
3
4
5
//·String.Length()··¬
¬
String.Length("Hello·World!");¬
¬
//··:·12
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

- 2013.03.15 PM 02:06 일부 구문 수정

 

반응형