hi, On Tue, Jan 07, 2014 at 10:13:29PM +1100, Steven D'Aprano wrote: > Does anyone know what the rationale behind making byte-string indexing > return an int rather than a byte-string of length one? > > That is, given b = b'xyz', b[1] returns 121 rather than b'y'. > > This is especially surprising when one considers that it's easy to extract > the ordinal value of a byte: > > ord(b'y') => 121
Which Python version? http://docs.python.org/2/reference/lexical_analysis.html#strings "A prefix of 'b' or 'B' is ignored in Python 2;" if you want to store the string literal as byte array, you have to use "bytearray()" function: >>> a = bytearray('xyz') >>> a bytearray(b'xyz') >>> a[0] 120 >>> a[1] 121 http://docs.python.org/2/library/stdtypes.html 5.6. Sequence Types hth, a. -- https://mail.python.org/mailman/listinfo/python-list