dedlfix: Zeichenkodierung

Beitrag lesen

Tach!

Meines Wissens ist base64-Codierung definiert als "Verteile 3 Bytes auf 4". Es ist also korrekt, dass btoa keine Unicodezeichen jenseits von \u00ff annimmt.

Base64 hat mit Unicode überhaupt nichts zu tun.

Wenn du nicht immer ignorieren würdest, dass Javascript-Strings zeichenorientiert aufgebaut sind, denn würde dir vielleicht auch klar werden, was hier das Problem ist. Die Funktion btoa() nimmt sich ein Zeichen (und kein Byte), bestimmt davon die CodePoint-Nummer und versucht dann daraus die Base64-Ausgabe zu erstellen. Da der Base64-Algorithmus aber nur mit Werten von 0..255 umgehen kann, gibts hier ein Problem mit Zeichen oberhalb von CodePoint 255.

Zitat MDN: The WindowOrWorkerGlobalScope.btoa() method creates a base-64 encoded ASCII string from a String object in which each character in the string is treated as a byte of binary data.

Note: Since this function treats each character as a byte of binary data, regardless of the number of bytes which actually make up the character, an InvalidCharacterError exception is thrown if any character's code point is outside the range 0x00 to 0xFF.

dedlfix.

0 72

Zeichenkodierung

pl
  • javascript
  1. 3

    Zeichenckodierung

    Christian Kruse
  2. 1
    Gunnar Bittersmann
    1. 0
      TS
      • codierung
      • javascript
      1. 1
        Gunnar Bittersmann
      2. 0
        dedlfix
      3. -2
        pl
        1. 1
          Rolf B
          1. 0
            Gunnar Bittersmann
            1. 0
              Rolf B
            2. 1
              usb
              1. 0
                Rolf B
                • codierung
                • javascript
                • unicode
                1. 0
                  usb
                  1. 0
                    Rolf B
          2. -1
            pl
            1. 0
              Rolf B
              1. 0
                pl
                1. 0
                  Patrick C.
                  1. 0
                    dedlfix
                    1. 0
                      Gunnar Bittersmann
                    2. 0
                      Rolf B
                  2. -4
                    pl
                    1. 0
                      Rolf B
                      1. -4
                        pl
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            pl
                            1. 0
                              Gunnar Bittersmann
                        2. 0
                          Rolf B
                          1. 0
                            pl
                            1. 0
                              Rolf B
                              1. 0
                                pl
                                1. 0
                                  Rolf B
                                  1. 0
                                    pl
                            2. 0
                              pl
                              1. 0
                                Rolf B
                                1. 0
                                  dedlfix
                                  1. 0
                                    Rolf B
                                    1. 1
                                      dedlfix
                                      1. 0
                                        Rolf B
                                    2. 0
                                      pl
                                      1. 1
                                        dedlfix
                                        1. 0
                                          pl
                                          1. 0
                                            dedlfix
                                          2. 0
                                            Rolf B
                                            1. 0
                                              pl
                                            2. 0
                                              pl
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  pl
                                                  1. 0
                                                    TS
                                      2. 0
                                        usb
                                        1. 0
                                          pl
                                          1. 0
                                            usb
                                2. 0
                                  pl
                                3. 3
                                  1unitedpower
                                  1. 0
                                    Christian Kruse
                                  2. 0
                                    Rolf B
                      2. 0
                        pl
                        1. 0
                          Christian Kruse
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              Rolf B
                              1. 0
                                Auge
                                1. 0
                                  Gunnar Bittersmann
                        2. 1
                          dedlfix
                        3. 0
                          Rolf B
                          1. -1
                            pl
                            1. 0
                              Rolf B
                              1. 0
                                Gunnar Bittersmann
                                1. 0
                                  dedlfix
                                2. 0
                                  Rolf B
  3. 1
    MudGuard
  4. 2
    Rolf B
    1. 0
      pl