john@xxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html