dedlfix: Mein lieber Valigator

Beitrag lesen

Hi!

Also meiner Meinung nach, spielt die Kodierung beim erstellen einer Datei null eine Rolle. Ein Byte ist einfach eine Zahl von 0 bis 255.

Warum soll die Kodierung keine Rolle spielen? Irgendwo muss doch festgelegt sein, wie ein Zeichen in Bytes repräsentiert werden soll. Ich kann doch nicht einfach irgendwelche beliebigen Bytes nehmen, wenn ich einen Text in Dateiform ablegen will. Wenn ich also ein € in die Datei schreiben will, muss ich das gemäß ISO-8859-15 als A4, gemäß Windows-1252 als 80 und gemäß UTF-8 als E2 82 AC tun. Wie bezeichntest du sonst den Vorgang, um von einem Text zu den ihn verkörpernden Bytes zu gelangen?

Man dekodiert/interpretiert einen Dateiinhalt gemäß einer Kodiervorschrift. ("Kodiervorschrift" steht hier für eine Vorschrift die den Prozess in beide Richtungen beschreibt).
Also für mich sind Dateien Folgen von Bytes mit keinerlei Kodierung. Diese kommt erst bei der Darstellung zum tragen.

Diese Folge von Bytes ist doch aber nicht willkürlich. Die Bytes repäsentieren Text, sie sind kodierter Text. Wenn ich sie sinnerhaltend weiterverarbeiten will - vielleicht zum späteren Ausgeben - muss ich die Kodierung (in umgekehrter Richtung) berücksichtigen, so dass wieder das Zeichen daraus wird, was beabsichtigt war. Da der Rechner jedoch nicht in Zeichen denkt, wird der Programmierer eine bestimmte Form der internen Repräsentation zu ihrer Verkörperung gewählt haben, eine Kodierung, die er zum Weiterverarbeiten als geeignet angesehen hat. Es sind zwar immer noch keine Zeichen geworden, aber immer noch Codes, die für diese Zeichen stehen.

Willst du etwa den Sinn und die Bytefolge voneinander trennen? Das kannst du machen, wenn du ein Transportsystem bist und nur das Zeug von A nach B befördern sollst. Dann brauchst du den Sinn nicht zu kennen, aber das ist nicht unser Thema.

Eine Bytefolge steht für kein Zeichen, d.h. Zeichen wird es erst nach der Kodierung und Darstellung.

Warum nicht? Was soll denn der Wert der Bytes sonst repräsentieren?

Nach dem Satz glaube ich wir meinen doch das gleiche, drücken es nur anders aus. Das Programm, dass eine Bytefolge darstellen muss braucht eine Dekodierungsvorschrift.

Eben. Die Umkehrfunktion zur verwendeten Kodierung.

Wenn ich in meinem Editor eine Datei öffne gibt es erstmal keine Kodierung, sie spielt also beim lesen keine Rolle. Sie spielt erst eine Rolle, wenn die Zeichen interpretiert werden sollen und das ist für mich darstellen.

An dieser Stelle trennst du Dinge unnötig auf, scheint mir. Die allgemeine Betriebssystemfunktion zum Lesen aus Dateien liest natürlich Bytes ohne deren Sinn zu "hinterfragen". Das passiert aber einer Ebene, die unterhalb der betrachteten liegt. Der Editor, der den Bytestrom entgegennimmt, muss selbstverständlich die Datei dekodieren um sie in eine Form zu bringen, mit der er intern arbeiten kann. Er kann sie auch noch dreimal uninterpretiert im Speicher umlagern, aber das bringt uns als außenstehender Betrachter nicht weiter. Er muss jedenfalls schon für die interne Verarbeitung den Sinn der Zeichen kennen, und nicht erst dann, wenn er sie an die (Bildschirm-)Ausgaberoutine weitergibt. Wie soll er sonst Wortgrenzen oder Zeilen oder sowas erkennen?

Lo!

0 69

Mein lieber Valigator

hotti
  • html
  1. 0
    MudGuard
    1. 0
      hotti
      1. 0
        Gunnar Bittersmann
        1. 0
          hotti
          1. 0
            Gunnar Bittersmann
            1. 0
              hotti
              1. 0
                Gunnar Bittersmann
                1. 0
                  hotti
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      hotti
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          hotti
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              hotti
                              1. 0
                                Gunnar Bittersmann
                                1. 0
                                  hotti
                                  1. 0
                                    Gunnar Bittersmann
          2. 0
            MudGuard
            1. 0
              hotti
      2. 0
        MudGuard
        1. 0
          hotti
          1. 0
            Gunnar Bittersmann
            1. 0
              hotti
              1. 0
                Der Martin
                1. 0
                  hotti
                  1. 0
                    Der Martin
                    1. 0
                      hotti
                      1. 1
                        Der Martin
                        1. 0
                          hotti
                          1. 0
                            Gunnar Bittersmann
                      2. 0
                        dedlfix
                        1. 0
                          hotti
                          1. 0
                            Der Martin
                            1. 0
                              Længlich
                              1. 0
                                Der Martin
                      3. 0
                        Gunnar Bittersmann
                        1. 0
                          hotti
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              hotti
                              1. 0
                                Gunnar Bittersmann
                          2. 0
                            dedlfix
                            1. 0
                              JürgenB
                          3. 0
                            Struppi
                            1. 0
                              hotti
                              1. 0
                                Struppi
                                1. 0
                                  hotti
                                  1. 0
                                    Struppi
                                    1. 0
                                      hotti
                                      1. 0
                                        Struppi
                                    2. 0
                                      dedlfix
                                      1. 0
                                        Struppi
                                        1. 0
                                          Beat
                                          1. 0
                                            Struppi
                                            1. 0
                                              Beat
                                              1. 0
                                                dedlfix
                                                1. 0
                                                  Beat
                                                  1. 0
                                                    dedlfix
                                        2. 0
                                          dedlfix
                                          1. 0
                                            hotti
                                            1. 0
                                              Struppi
                                          2. 0
                                            Struppi
                                            1. 0
                                              dedlfix
                                  2. 0
                                    Gunnar Bittersmann
                                    1. 0
                                      hotti
                                      1. 0
                                        Gunnar Bittersmann
                                        1. 0
                                          hotti
                                          1. 0
                                            Gunnar Bittersmann
              2. 0
                Gunnar Bittersmann