본문 바로가기
Programming/Angular

[AngularJS 2] 문자열의 바이트(Byte) 길이 구하기.

by Deafhong 2017. 8. 30.
반응형

안녕하세요. 데프홍입니다.


AngularJS 언어로 웹 페이지 개발을 하면서, 이것저것 구글링을 하면서 찾아가면서 작업을 해 왔었는데, 이번에는 조금씩 유용하게 써먹었던 것들을 정리해보면서 나열을 해 볼까 합니다.


당장은 많은 것들을 올려두지는 못하지만, 틈나는 대로 조금씩 올려서 정리를 해보겠습니다.


참고로 AngularJS 2 그 이상에서는 Typescript 을 쓰므로, 해당 언어에 맞춰서 작성했습니다. ( 17.08.30 현재 Angular 4 사용하여 개발중 )



[문자열의 바이트(Byte) 길이 구하기 by AngularJS 4]


//권장하는 Byte 계산 로직문

let stringByteLength = ((s, b, i, c) => {

for(b=i=0;c=s,charCodeAt(i++);b+=c>>11?3:c>>7?2:1);

return b;

});


//how to use?

const testString = 'testString';

let length = stringByteLength(testString);

console.log(length);


//크롬 개발툴에서 확인해보기.

//---start---

console.time("개선된FOR방식"); var string = 'testTesttestTest'; var stringByteLength = (function(s,b,i,c){ for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); return b })(string); console.log(stringByteLength + " Bytes"); console.timeEnd("개선된FOR방식");

//---end---


//result

//16 Bytes

//개선된FOR방식: 0.19677734375ms


UTF-8 인코딩 방식에서는 한글은 3바이트로 계산.



자세한 설명은 아래 블로그 주소를 클릭하면 됩니다.


출처 : http://programmingsummaries.tistory.com/239

원문 : https://gist.github.com/mathiasbynens/1010324



반응형

'Programming > Angular' 카테고리의 다른 글

공백제거하기.  (0) 2017.08.30
[ AngularJS ] $q의 사용에제  (0) 2017.01.03