소형 압축방법...

2009. 9. 6. 02:42

압축...의 기술이 여러가지 있지만,
javascript 로 만들기에는 애매한 부분도 많아서...

일단... 짬짜짜주세요...형식의 압축만 풀어본다.

...

<div style="width:500px; height:50px; overflow:hidden; background-color:#eeeeee;">

<SCRIPT>
var
  Ccode=new Array("짬뽕", "짜장면"), Hcode=''; // Ccode : 압축풀릴단어, Hcode : 첫글자 검색용...

function HcodeReset() { var i;
  Hcode='';
  for (i=0; i<Ccode.length; i++) Hcode+=Ccode[i].charAt(0); // 코드첫글자를 압축코드라고 지정
  }

function extractString(v) { var i, pv=v+'', ov='', iC, cP;
  for (i=0; i<pv.length; i++)
    if (( cP=Hcode.indexOf( (iC=pv.charAt(i)) ) )>=0) ov+=Ccode[cP]; else ov+=iC;

  return ov;
  }

HcodeReset();
</SCRIPT>

<SCRIPT>
document.write(extractString("짬짜짜주세요"));
</SCRIPT>

</div>

...



...

사실은 해당 코드 앞에 특수기호를 쓰거나...하는 방법으로
스트링...과 압축코드를 구별하지만, 너무 길어지니까 이번엔 조금(?) 생략하고...
(한시간 내로 그냥 만들자니 시간이 너무 걸려서...)

...

extractString 함수도 어떤방법(스트링 바꾸기?)을 이용하면 더 빠른 코드로 될 수 있겠지만,

압축기술로 발전하기 위한 base 로써의 의미도 있고,
가끔 "도구"처럼 쓰기 위한 방안도 필요해서...

*참고* 요즘에도 적용되는 룰일지 모르겠지만, 글자...에 대한 문제가 있다.
브라우져마다의 "글자 판독"에 관련한 특성을 탈 수 있으므로 주의요망...
(한글은 보통 2byte 한글자 체계인데, 위의 형식과 같은 예제의 경우 1byte + 1byte 로 읽히면 오류날 수 있음...)

...

DoubleVictory killofki@.


Posted by killofki
,