압축...의 기술이 여러가지 있지만,
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@.
'compress' 카테고리의 다른 글
반복필터 추출] 1bit 라도 절약이 될지 짧게(?) 확인해보기... (0) | 2011.02.13 |
---|---|
반복함수] 중복된 호출, 이렇게 줄이면 어떨까...? (0) | 2011.02.02 |
script 코드 자체를 압축하다가... (IE, Chrome 전용) (0) | 2009.12.19 |
소형 압축...2 (0) | 2009.09.07 |