chr(9),chr(10),chr(13),chr(32),chr(34)설명

chr(9),chr(10),chr(13),chr(32),chr(34)ASCII 코드 에 관 한 모든 표:[url]http://www.asciitable.com/[/url]chr(13)는 리 턴 Chr(10)입 니 다.줄 바 꾸 기 chr(32)는 빈 칸 입 니 다.9\34 는 tab 입 니 다.확실 하지 않 습 니까?다음은 asp 프로 그래 밍 에서 특수 한 빈 칸 문 자 를 표시 합 니 다.우 리 는 trim(rtrim,ltrim)함 수 를 사용 하여 데이터 의 시작 과 끝 에 있 는 빈 칸 을 제거 합 니 다.필 자 는 최근 에 asp 채 팅 방 을 썼 습 니 다.다음 코드 가 있 습 니 다.<%dim name,title  name=trim(request.form("name"))  password=trim(request.form("password"))  if name=""or password="" then response.redirect "error.asp?error=name&name=null"   myDSN="DSN=test;uid=test;pwd=test"set cn=server.createobject("adodb.connection")cn.open my DSN sql="insert into test(name,title)values("&name&","&password&")"cn.execute(sql)cn.close%>필 자 는 trim 함 수 를 사용 하여 시작 과 끝 에 있 는 빈 칸 을 제거 합 니 다.일반적인 상황 에서 이 프로그램 은 정상적으로 실 행 됩 니 다.그러나 나중에 필 자 는 누군가가 빈 칸 을 사용 하여 들 어 올 수 있다 는 것 을 알 게 되 었 다.즉,이 사용자 의 name 은 완전히 빈 칸 이지 만 필 자 는 자신 이 빈 칸 을 사용 하려 고 했 지만 통과 하지 못 했다(즉,프로그램 에 의 해 감 측 되 었 다).시작 과 끝 에 있 는 빈 칸 은 모두 trim 편지 에 의 해 제거 되 었 다.중간 에 빈 칸 이 있어 도.필자 가 필요 하 다 면 하나의 함 수 를 사용 하여 중간의 빈 칸 을 없 앨 수 있다.필 자 는 sql 데이터베이스 에 기 록 된 사용자 자 료 를 사 용 했 기 때문에 필 자 는 그 가 다른 무언 가 를 사용 하여 시스템 에 보이 지 않 게 했다 고 의심 하여 사용자 자 료 를 기록 한 sql 데이터 라 이브 러 리(필 자 는 이런 방법 으로 줄 바 꿈 자 를 가 진 사용 자 를 본 적 이 있다)를 살 펴 보 았 다.그러나 필 자 는 아직도 데이터 베이스 에서 사용자 의 자 료 를 바 꾸 는 것 도 빈 칸 이라는 것 을 보 았 다.이것 은 이 사용자 가 내 사용자 이름과 비밀 번 호 를 돌아 서 감 측 할 수 있 는 수단 을 사용 했다 는 것 일 까?프로그램 에 구멍 이 없어 서 이 사용자 에 게 물 어 볼 수 밖 에 없 었 습 니 다.다행히도 이 사용 자 는 필자 에 게'Alt+255'였 습 니 다.alt 키 를 누 른 다음 에 작은 키보드 중'2','5','5'를 누 르 면 비교적 특수 한 동서'빈 칸'문자 가 생 긴 다 고 시원 하 게 알려 주 었 습 니 다.(이 개념 은 필자 도 잘 모 르 겠 습 니 다.이것 은 제어 문자 입 니 다.일부 편집기 에서 워드 2000 을 볼 수 있 습 니 다.다른 제어 문자 가 있 을 것 입 니 다)이 빈 칸 문 자 는 전통 적 으로 빈 칸 키 를 누 르 면 생 긴 문자 와 다 릅 니 다.asc 코드 는 255 이 고 전통 적 인 space 가 입력 한 빈 칸 의 asc 코드 는 32 입 니 다.trim 함 수 는 asc 코드 가 32 인 코드 만 인식 하고 제거 할 수 있 기 때문에 빈 칸 사용자 가 발생 하 는 상황 이 발생 했 습 니 다!이러한 상황 에 대해 필 자 는 다음 과 같은 두 가지 함 수 를 디자인 하여 이'빈 칸'문 자 를 제거 했다.function xuankong(str)dim result dim j=len(str)result="dim i for i=1 to j select case mid(str,i,1)         case "<"            result=result+"<"         case ">"            result=result+">"         case chr(34)              result=result+"""         case "&"            result=result+"&"  '이상 코드 변환 html 태그 case chr(255)'특수 스페이스 바 방지 result=result case chr(13)'리 턴 방지 result=result+''case chr(10)'줄 바 꾸 기 방지 result=result+''case else result=result+mid(str,i,1)end select next xuankong=result end function 다음 에 asp 프로그램 에서 이 함 수 를 사용 합 니 다.예 를 들 어 name=xuankong(trim(request.form("name"))은 문자 0-z asc 코드 의 수치 가 48-122 이 구간 이기 때 문 입 니 다.따라서 다음 과 같은 방법 으로 모니터링 할 수 있 습 니 다:dim j=len(trim(request.form("name")for i=1 to j if asc(mid(name,i,1)>122 or asc(mid(name,i,1)<48 then response..redirect"error.asp?error=special"next 이러한"빈 칸"은 프로그램 을 파괴 할 문 제 를 잠시 발견 하지 못 했 지만 방해 할 수 있 습 니 다.그래도 막 는 게 좋 을 것 같 아 요.그런데 이런 빈 칸 도 좋 을 것 같 아 요.인터넷 비밀번호 로 해 야 한다 면 헤헤........................................................보 이 는 것 은 모두 space 라 고 생각 하지만 그렇지 않다.모든 언론 인의 내용 은 먼저 텍스트 파일 에 저장 한 다음 웹 페이지 에 표시 해 야 한다.그러나 웹 페이지 에 내용 을 입력 하 게 하 는 컨트롤 은 텍스트 상자 입 니 다.그러면 텍스트 상자 의 내용 이 웹 페이지 에 표 시 될 때 빈 칸,줄 바 꿈 과 같은 문 자 를 표시 할 수 없습니다.즉,단락 이 없다 는 것 입 니 다.웹 페이지 에 단락 을 표시 하려 면 텍스트 의 빈 칸,줄 바 꿈 문자 에 HTML 표 지 를 삽입 해 야 이 문자 들 을 표시 할 수 있 습 니 다.아래 의 예 를 보십시오.만약 웹 페이지 에 채 팅 방 화면 이 있다 면,우 리 는 텍스트 상자 에 내용 을 입력 한 후,"제출"을 누 르 면 페이지 에 우리 의 내용 을 표시 할 수 있 습 니 다.텍스트 상자 의 이름 은 Text 1 입 니 다.우 리 는 아래 의 방법 으로 텍스트 의 줄 바 꿈 과 빈 칸 을 표시 하 는 기능 을 교묘 하 게 실현 할 수 있 습 니 다.<%...str=request.query string("text 1")str=Replace(str,Chr(32)," ")'는 빈 칸 을  로고 str=Replace(str,vbCrLf,"br")'로 바 꾸 고,빈 칸 을  빈 칸 표지 로 바 꿉 니 다.그 중에서 Chr(32)는 빈 칸 을 표시 하고 vbCrLf 는 차 로 돌아 가 줄 을 바꾼다 고 표시 했다.new eguo 2006-1-12 01:55 AM chr(13)는 리 턴(예:모든 리 턴 부 호 를
\#Replace(foo,Chr(13),"
,"ALL")\#)Chr(10)는 줄 바 꿈 부호 의 ASCII 코드 에 관 한 모든 표 입 니 다.[url]http://www.asciitable.com./[/url]/**증강 판 문장 단락 포맷 함수*사용) TAB 교체,다 중 시스템 지원*Rewrite and multiOS support by Nathan Dintenfas.**@param string 포맷 할 문자열(필수)*@return 문자열 을 리 턴 합 니 다.*@author Ben Forta([email][email protected][/email]) * @version 3, June 26, 2002 */function Paragrap1hFormat2(str) {//first make Windows style into Unix stylestr = replace(str,chr(13)&chr(10),chr(10),"ALL");//now make Macintosh style into Unix stylestr = replace(str,chr(13),chr(10),"ALL");//now fix tabsstr = replace(str,chr(9),"   ","ALL");//now return the text formatted in HTMLreturn replace(str,chr(10),"
","ALL");}

좋은 웹페이지 즐겨찾기