"자바스크립트 문자열의 바이트수 계산"의 두 판 사이의 차이

6번째 줄: 6번째 줄:
var str = "777"
var str = "777"
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
console.log(str.replace(pattern, "$&$1$2").length);
console.log(str.replace(pattern, "$&$1$2").length); // 3
</source>
</source>
:→ 숫자는 1바이트로 3글자 이므로 3바이트
<source lang="javascript">
<source lang="javascript">
var str = "abcde"
var str = "abcde"
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
console.log(str.replace(pattern, "$&$1$2").length);
console.log(str.replace(pattern, "$&$1$2").length); // 5
</source>
</source>
:→ 영어는 1바이트로 5글자 이므로 5바이트
<source lang="javascript">
<source lang="javascript">
var str = "안녕하세요"
var str = "안녕하세요"
18번째 줄: 20번째 줄:
console.log(str.replace(pattern, "$&$1$2").length); //15
console.log(str.replace(pattern, "$&$1$2").length); //15
</source>
</source>
 
:→ 한글는 3바이트로 5글자 이므로 15바이트


[[분류:JavaScript]]
[[분류:JavaScript]]
[[분류:유니코드]]
[[분류:유니코드]]
[[분류:정규표현식]]
[[분류:정규표현식]]

2016년 11월 2일 (수) 22:37 판

개념

Counting string's bytes in javascript
자바스크립트 문자열의 바이트수 계산
  • 유니코드에서 문자열의 바이트수 계산
var str = "777"
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
console.log(str.replace(pattern, "$&$1$2").length); // 3
→ 숫자는 1바이트로 3글자 이므로 3바이트
var str = "abcde"
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
console.log(str.replace(pattern, "$&$1$2").length); // 5
→ 영어는 1바이트로 5글자 이므로 5바이트
var str = "안녕하세요"
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
console.log(str.replace(pattern, "$&$1$2").length); //15
→ 한글는 3바이트로 5글자 이므로 15바이트
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}