Annotation of libwww/Library/src/HTEscape.html, revision 2.12
2.2 frystyk 1: <HTML>
2: <HEAD>
2.12 ! frystyk 3: <!-- Changed by: Henrik Frystyk Nielsen, 23-Mar-1996 -->
! 4: <NEXTID N="1">
! 5: <TITLE>W3C Reference Library libwww URIs</TITLE>
2.2 frystyk 6: </HEAD>
2.1 frystyk 7: <BODY>
2.12 ! frystyk 8: <H1>
! 9: Escape and Unescape Illegal Characters in URIs
! 10: </H1>
2.2 frystyk 11: <PRE>
12: /*
2.5 frystyk 13: ** (c) COPYRIGHT MIT 1995.
2.2 frystyk 14: ** Please first read the full copyright statement in the file COPYRIGH.
15: */
16: </PRE>
2.12 ! frystyk 17: <P>
! 18: URLs are written only with the graphic printable characters of the US-ASCII
! 19: coded character set. All other characters must be escaped before they can
! 20: be used in URLs. This module defines the methods required for escaping and
! 21: unescaping the URLs. Internally in the Library, all URLs are escaped so that
! 22: we never see illegal characters in the URL handled by the Library. We only
! 23: unescape the URLs when we have to, for example while taking to the local
! 24: file system etc.
! 25: <P>
! 26: This module is implemented by <A HREF="HTEscape.c">HTEscape.c</A>, and it
! 27: is a part of the <A HREF="http://www.w3.org/pub/WWW/Library/"> W3C Reference
! 28: Library</A>.
2.1 frystyk 29: <PRE>
30: #ifndef HTESCAPE_H
31: #define HTESCAPE_H
2.3 frystyk 32:
2.1 frystyk 33: </PRE>
2.12 ! frystyk 34: <H2>
! 35: Encode Unacceptable Characters using %xy
! 36: </H2>
! 37: <P>
! 38: This function takes a string containing any sequence of ASCII characters,
! 39: and returns a malloced string containing the same infromation but with all
! 40: "unacceptable" characters represented in the form <CODE>%xy</CODE> where
! 41: <CODE>x</CODE> and <CODE>y</CODE> are two hex digits.
2.1 frystyk 42: <PRE>
2.8 frystyk 43: typedef enum _HTURIEncoding {
44: URL_XALPHAS = 0x1,
45: URL_XPALPHAS = 0x2,
46: URL_PATH = 0x4
47: } HTURIEncoding;
2.1 frystyk 48:
2.9 frystyk 49: extern char * HTEscape (const char * str, HTURIEncoding mask);
2.1 frystyk 50: </PRE>
2.12 ! frystyk 51: <H2>
! 52: Decode %xy Escaped Characters
! 53: </H2>
! 54: <P>
! 55: This function takes a pointer to a string in which character smay have been
! 56: encoded in <CODE>%xy</CODE> form, where <CODE>xy</CODE> is the acsii hex
! 57: code for character 16x+y. The string is converted in place, as it will never
! 58: grow.
2.1 frystyk 59: <PRE>
2.8 frystyk 60: extern char * HTUnEscape (char * str);
61: </PRE>
62: <PRE>
2.1 frystyk 63: #endif /* HTESCAPE_H */
64: </PRE>
2.12 ! frystyk 65: <P>
! 66: <HR>
2.11 frystyk 67: <ADDRESS>
2.12 ! frystyk 68: @(#) $Id: HTEscape.html,v 2.11 1996/04/12 17:46:39 frystyk Exp $
2.11 frystyk 69: </ADDRESS>
2.12 ! frystyk 70: </BODY></HTML>
Webmaster