Trash spec: wrapping up
David Faure
dfaure at trolltech.com
Sat Nov 6 01:20:41 EET 2004
On Tuesday 02 November 2004 10:48, you wrote:
> On Tue, 2004-11-02 at 10:04 +0300, Mikhail Ramendik wrote:
> > Alexander Larsson wrote:
> >
> > > Thus, i propose that we store the byte string in escaped form in the
> > > trash info file. The normal desktop file escaping method doesn't allow
> > > encoding of any byte value, so we can't use that. To avoid multiple
> > > escape/unescape problems when using existing desktop parsers we
> > > shouldn't extend that method. Instead i propose that we use url-style
> > > escaping.
> >
> > What's the name of the standard that describes URL-style escaping and is
> > supported in Gnome and KDE? We need to redference that in the text.
>
> Its described in RFC 2396, section 2.4.1. We still have to decide
> exactly what characters to escape though. I think a good set of
> characters to not escape is the "unreserved characters" class in the
> RFC, plus "/".
>
> That would mean everything is escaped except:
> 'a' - 'z', 'A'- 'Z', '0' - '9',
> '-', '_', '.' '!', '~', '*', ''', '(', ')'
> '/'
The shared code for this in KDE (i.e. KURL) refers to
RFC 1738, 2.2. URL Character Encoding Issues (pp. 3-4)
and encodes everything <=32, >=127, or among
@<>#"&%?={}|^~[]'`\:+
This conflicts on ~ and ' ... but does it matter? If one implementation
encodes '~' and the other doesn't, this is no problem, they can both
read each other anyway.
Given the Key=Value / Key[fr]=Value format, I think the most important is to
make sure that '=', '[', ']', control characters (<32) and non-ascii (>=127)
are escaped, the rest doesn't matter.
If an implementation wants to escape 'a'..'z' it will look ugly, but it will still
be interoperable :)
--
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
More information about the xdg
mailing list