본문 바로가기
교육

[ASP] [javascript] 한글 포함된 문자열 자르기(1Byte, 2Byte 구분)

by 공공정보 2021. 1. 20.
728x90



ASP, Javascript

한글이 포함된 문자열 자르기 예제 소스


프로그래밍을 하다보면 보면 너무긴 문자열을 잘라야 할 경우가 생긴다...


뭐 영문자라면 별 문제가 되지 않지만, 한글 같은 2바이트 문자열이 포함 되버리면 내장 함수로 쉽게 자를수 없을때가 있다...


이럴 때 사용하면 괜찮은 함수를 만들어봤다..


작동 원리는 문자열 전체를 하나 하나 분리해서 해당 문자가 1바이트 문자인지, 2바이트 문자인지 비교하여 원하는 길이만큼 잘라 준다.


ASP 소스 함수 예제

Function Str_Cut(istr, size)

tstr = ""

cnt = 0

rtn = istr

For x = 1 To Len(istr)

tstr = Mid(istr, x, 1)

If Asc(tstr) < 0 Then 

cnt = cnt + 1

End If

cnt = cnt + 1

If size <= cnt Then

rtn = Mid(istr, 1, x)

x = 100000

End If 

Next 


Str_Cut = rtn

End Function 


ASP 언어에서는 한글이 마이너스로 표시가 되어 if 문에 0보다 작은 수인 경우로 처리 했다.

같은 원리로 자바스크립트 함수 예제

function Str_Cut(istr, size) {

var tmp = 0, cnt = 0;

var rtn = "";


for (var x = 0; x < istr.length; x++) {

tmp = istr[x].charCodeAt();


if (127 < tmp) {

cnt++;

}

cnt++;

if (size <= cnt)

{

rtn = istr.substring(0, x);

x = 100000;

}

}

return rtn;

}



자바스크립트에서는 2바이트 확인을 127보다 큰 수를 분리 작업을 한다.

한글 처리 관련 내용

https://blog.naver.com/spprince/222022741472




본 블로그의 글은 공공정보와 개인적 생각의 글 임을 알려드립니다.

또한 오류가 있는 부분이 있으면 댓글로 알려주시기 바랍니다.


감사합니다.


반응형

댓글