[email protected] wrote on Wed, 16 Jan 2013 09:45 +0000:
> On Tue, Jan 15, 2013 at 07:03:16PM -0500, Pete Wyckoff wrote:
> > I'd suggest for this Python conundrum using byte-string literals, e.g.:
> >
> > lines = check_output(args).strip().split(b'\n')
> > value, name = line.split(b' ')
> > name = name.strip(b'commit\t')
> >
> > Essentially identical to what you have, but avoids naming "utf-8" as
> > the encoding. It instead relies on Python's interpretation of
> > ASCII characters in string context, which is exactly what C does.
>
> The problem is that AFAICT the byte-string prefix is only available in
> Python 2.7 and later (compare [1] and [2]). I think we need this more
> convoluted code if we want to keep supporting Python 2.6 (although
> perhaps 'ascii' would be a better choice than 'utf-8').
>
> [1] http://docs.python.org/2.6/reference/lexical_analysis.html#literals
> [2] http://docs.python.org/2.7/reference/lexical_analysis.html#literals
Drat. The b'' syntax seems to work on 2.6.8, in spite of
the docs, but certainly isn't in 2.5.
I think you had hit on the best compromise with encoding,
but maybe ascii is a little less presumptuous than utf-8,
and more indicative of the encoding assumption.
-- Pete
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html