관리 메뉴


Kinesis´s Open Document

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

MEMO/기술 자료/Javascript

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

Kinesis 2013. 3. 15. 09:53

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

/* 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(); }
    }
};

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

사용 방법은 다음과 같다.

// Prototype 사용 예

"Hello World!".Length();

// 결과 : 12
또는
// String.Length() 사용 예

String.Length("Hello World!");

// 결과 : 12

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

 


Comments