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