Unterschied zwischen Binärzeichenfolge, Bytezeichenfolge, Unicode-Zeichenfolge und einer gewöhnlichen Zeichenfolge (str)

  • Ich bin etwas verwirrt. Was ist in Python der Unterschied zwischen einer binären Zeichenfolge, einer Bytezeichenfolge, einer Unicode-Zeichenfolge und einer einfachen alten Zeichenfolge (str)? Ich verwende Python 2.6.

    22 November 2011
    Imran Azad
1 answer
  • Es hängt von der Version in Python ab, die Sie verwenden.

    Wenn Sie in Python 2.x 'abc' schreiben, hat es den Typ str. Dies bedeutet jedoch eine Bytefolge. Wenn Sie eine Unicode-Zeichenfolge wünschen, müssen Sie u'abc' schreiben.

    Wenn Sie 'abc' schreiben, hat Python 3.x immer noch den Typ str eine Zeichenfolge aus Unicode-Zeichen. Wenn Sie einen Byte-String wünschen, müssen Sie b'abc' schreiben. Es ist nicht erlaubt, u'abc' zu schreiben.

             |  2.x                     |  3.x
    --------+--------------------------+-----------------------
    Bytes   |  'abc' <type 'str'>      |  b'abc' <type 'bytes'>
    Unicode | u'abc' <type 'unicode'>  |   'abc' <type 'str'>
     
    22 November 2011
    Mark Byers