#### Previous topic

numpy.dtype

#### Next topic

numpy.format_parser

# numpy.dtype.newbyteorder

`dtype.``newbyteorder`(new_order='S')

  Return a new dtype with a different byte order.

  Changes are also made in all fields and sub-arrays of the data type.

  > Parameters: | new_order : string, optional Byte order to force; a value from the byte order specifications below. The default value (‘S’) results in swapping the current byte order. new_order codes can be any of:
  >     * 'S' - swap dtype from current to opposite endian
  >     * {'<', 'L'} - little endian
  >     * {'>', 'B'} - big endian
  >     * {'=', 'N'} - native order
  >     * {'|', 'I'} - ignore (no change to byte order)
  The code does a case-insensitive check on the first letter of new_order for these alternatives. For example, any of ‘>’ or ‘B’ or ‘b’ or ‘brian’ are valid to specify big-endian.
  Returns: | new_dtype : dtype New dtype object with the given change to the byte order.

  Notes

  Changes are also made in all fields and sub-arrays of the data type.

  Examples

      >>> import sys
      >>> sys_is_le = sys.byteorder == 'little'
      >>> native_code = sys_is_le and '<' or '>'
      >>> swapped_code = sys_is_le and '>' or '<'
      >>> native_dt = np.dtype(native_code+'i2')
      >>> swapped_dt = np.dtype(swapped_code+'i2')
      >>> native_dt.newbyteorder('S') == swapped_dt
      True
      >>> native_dt.newbyteorder() == swapped_dt
      True
      >>> native_dt == swapped_dt.newbyteorder('S')
      True
      >>> native_dt == swapped_dt.newbyteorder('=')
      True
      >>> native_dt == swapped_dt.newbyteorder('N')
      True
      >>> native_dt == native_dt.newbyteorder('|')
      True
      >>> np.dtype('<i2') == native_dt.newbyteorder('<')
      True
      >>> np.dtype('<i2') == native_dt.newbyteorder('L')
      True
      >>> np.dtype('>i2') == native_dt.newbyteorder('>')
      True
      >>> np.dtype('>i2') == native_dt.newbyteorder('B')
      True