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

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 하나는 보이지 않습니다)
3번째 줄: 3번째 줄:
;자바스크립트 문자열의 바이트수 계산
;자바스크립트 문자열의 바이트수 계산
*유니코드에서 문자열의 바이트수 계산
*유니코드에서 문자열의 바이트수 계산
<source lang="javascript">
<syntaxhighlight lang="javascript">
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>
</syntaxhighlight>
<source lang="javascript">
:→ 숫자는 1바이트로 3글자 이므로 3바이트
<syntaxhighlight 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>
</syntaxhighlight>
<source lang="javascript">
:→ 영어는 1바이트로 5글자 이므로 5바이트
<syntaxhighlight lang="javascript">
var str = "안녕하세요"
var str = "안녕하세요"
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
var pattern = /[\u0000-\u007f]|([\u0080-\u07ff]|(.))/g;
console.log(str.replace(pattern, "$&$1$2").length); //15
console.log(str.replace(pattern, "$&$1$2").length); //15
</source>
</syntaxhighlight>
 
:→ 한글는 3바이트로 5글자 이므로 15바이트


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

2020년 11월 2일 (월) 02:52 기준 최신판

개념[ | ]

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 }}