mirror of https://github.com/python/cpython
#3220: improve bytes docs a bit.
This commit is contained in:
parent
07a1f94fb7
commit
18da8f06eb
|
@ -512,17 +512,21 @@ string literals. In addition to the functionality described here, there are
|
||||||
also string-specific methods described in the :ref:`string-methods` section.
|
also string-specific methods described in the :ref:`string-methods` section.
|
||||||
|
|
||||||
Bytes and bytearray objects contain single bytes -- the former is immutable
|
Bytes and bytearray objects contain single bytes -- the former is immutable
|
||||||
while the latter is a mutable sequence. Bytes objects can be constructed from
|
while the latter is a mutable sequence. Bytes objects can be constructed the
|
||||||
literals too; use a ``b`` prefix with normal string syntax: ``b'xyzzy'``. To
|
constructor, :func:`bytes`, and from literals; use a ``b`` prefix with normal
|
||||||
construct byte arrays, use the :func:`bytearray` function.
|
string syntax: ``b'xyzzy'``. To construct byte arrays, use the
|
||||||
|
:func:`bytearray` function.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
While string objects are sequences of characters (represented by strings of
|
While string objects are sequences of characters (represented by strings of
|
||||||
length 1), bytes and bytearray objects are sequences of *integers* (between 0
|
length 1), bytes and bytearray objects are sequences of *integers* (between 0
|
||||||
and 255), representing the ASCII value of single bytes. That means that for
|
and 255), representing the ASCII value of single bytes. That means that for
|
||||||
a bytes or bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]``
|
a bytes or bytearray object *b*, ``b[0]`` will be an integer, while
|
||||||
will be a bytes or bytearray object of length 1.
|
``b[0:1]`` will be a bytes or bytearray object of length 1. The
|
||||||
|
representation of bytes objects uses the literal format (``b'...'``) since it
|
||||||
|
is generally more useful than e.g. ``bytes([50, 19, 100])``. You can always
|
||||||
|
convert a bytes object into a list of integers using ``list(b)``.
|
||||||
|
|
||||||
Also, while in previous Python versions, byte strings and Unicode strings
|
Also, while in previous Python versions, byte strings and Unicode strings
|
||||||
could be exchanged for each other rather freely (barring encoding issues),
|
could be exchanged for each other rather freely (barring encoding issues),
|
||||||
|
@ -1413,15 +1417,14 @@ Wherever one of these methods needs to interpret the bytes as characters
|
||||||
The bytes and bytearray types have an additional class method:
|
The bytes and bytearray types have an additional class method:
|
||||||
|
|
||||||
.. method:: bytes.fromhex(string)
|
.. method:: bytes.fromhex(string)
|
||||||
|
bytearray.fromhex(string)
|
||||||
|
|
||||||
This :class:`bytes` class method returns a bytes object, decoding the given
|
This :class:`bytes` class method returns a bytes or bytearray object,
|
||||||
string object. The string must contain two hexadecimal digits per byte, spaces
|
decoding the given string object. The string must contain two hexadecimal
|
||||||
are ignored.
|
digits per byte, spaces are ignored.
|
||||||
|
|
||||||
Example::
|
>>> bytes.fromhex('f0 f1f2 ')
|
||||||
|
b'\xf0\xf1\xf2'
|
||||||
>>> bytes.fromhex('f0 f1f2 ')
|
|
||||||
b'\xf0\xf1\xf2'
|
|
||||||
|
|
||||||
.. XXX verify/document translate() semantics!
|
.. XXX verify/document translate() semantics!
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue