1. #1
    Avatar von StarWarsFan
    Registriert seit
    05.11.2013
    Beiträge
    172
    Thanked 48 Times in 35 Posts

    Standard Das wievielte Byte ist der Buchstabe "G" aus "HTTP GET"

    Hallo,
    ich habe den String "HTTP GET" und möchte wissen, das wie vielte Byte das "G" darstellt. Meine Idee: Es wird ein nullbasierter Index verwendet, wie in der IT üblich. Somit handelt es sich um das sechste Byte. Ist dies korrekt?

  2. #2

    Registriert seit
    02.01.2013
    Beiträge
    879
    Thanked 458 Times in 313 Posts

    Standard AW: Das wievielte Byte ist der Buchstabe "G" aus "HTTP GET"

    Wenn ein nullbasierter Index für den String verwendet wird, hat das G den Index 5.

    H 0
    T 1
    T 2
    P 3
    (blank) 4
    G 5

    Aber wenn man das als eine Folge von Bytes ansieht, ist es das sechste Byte. Würde man allerdings z.B. in C das sechste Byte mit einem Pointer adressieren wollen, würde man auf die Adresse des Stringanfangs natürlich 5 addieren müssen... das zählt in diesem Fall genauso wie ein Array of Bytes mit nullbasiertem Index, d.h. Adressierung des n-ten Bytes über n-1.
    Geändert von freulein (05.04.2017 um 00:02 Uhr)

  3. The Following User Says Thank You to freulein For This Useful Post:

    StarWarsFan (08.04.2017)

  4. #3
    Avatar von Nuebel
    Registriert seit
    23.11.2013
    Beiträge
    447
    Thanked 370 Times in 241 Posts

    Standard AW: Das wievielte Byte ist der Buchstabe "G" aus "HTTP GET"

    Auf verschiedenen Systemen können Zeichen auch unterschiedlich viele Bytes zur Speicherung in Anspruch nehmen. 1, 2 oder 4 Byte pro Zeichen sind gängig.

  5. The Following User Says Thank You to Nuebel For This Useful Post:

    StarWarsFan (08.04.2017)

  6. #4
    Avatar von Leuchtturmwärter
    Registriert seit
    04.02.2013
    Beiträge
    61
    Thanked 46 Times in 29 Posts

    Standard AW: Das wievielte Byte ist der Buchstabe "G" aus "HTTP GET"

    Zitat Zitat von Nuebel Beitrag anzeigen
    Auf verschiedenen Systemen können Zeichen auch unterschiedlich viele Bytes zur Speicherung in Anspruch nehmen. 1, 2 oder 4 Byte pro Zeichen sind gängig.
    Während das für Rechnersysteme generell gilt, ist das zu verwendendene Encoding in textbasierten Netzwerkprotokollen (zumindest in allen, die ich kenne) genau festgelegt.
    Ansonsten hätte der empfangende Teilnehmer auch keine Möglichkeit, das zum Senden verwendete Encoding festzustellen, er müsste raten.

    Für HTTP ist die aktuelle Spezifikation RFC 7230.
    Hier findet sich in Abschnitt 3 folgendes:
    A recipient MUST parse an HTTP message as a sequence of octets in an encoding that is a superset of US-ASCII
    ASCII und alle echten Supersets (damit werden die regionalen Erweiterungen, z.B. mit deutschen Umlauten, mit eingeschlossen) wiederum sind ein Single Byte charsets.
    Entsprechend ist das G immer das 6. Byte, unabhängig vom Standardencoding der betrachteten Plattform.

    (Übrigens ist der HTTP-Header immer ASCII, selbst wenn im Body ein anderes Encoding verwendet wird. Das im Header angegebene Encoding wird erst am Ende des Headers, also nach dem ersten Vorkommen von \r\n\r\n, übernommen)
    Geändert von Leuchtturmwärter (08.04.2017 um 14:29 Uhr)

  7. The Following 2 Users Say Thank You to Leuchtturmwärter For This Useful Post:

    Nuebel (08.04.2017), StarWarsFan (08.04.2017)

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 31.05.2023, 16:21
  2. Antworten: 1
    Letzter Beitrag: 29.12.2013, 14:31
  3. Antworten: 2
    Letzter Beitrag: 29.09.2012, 15:24
  4. "Project Fiona" von "RAZER" im exklusiven Hands-On!
    Von RavoxX im Forum Internet und Technik
    Antworten: 2
    Letzter Beitrag: 17.01.2012, 17:39
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.