Rolf B: Zeichenkodierung

Beitrag lesen

Hallo dedlfix,

Man kann davon ausgehen, dass unter der Haube (…) UTF-16 (…) zum Einsatz kommt.

ECMAScript 2018 Spec, Abschnitt 6.1.4: ECMAScript operations that do not interpret String contents apply no further semantics. Operations that do interpret String values treat each element as a single UTF-16 code unit.

Also ja, man kann ganz gewiss davon ausgehen.

String.fromCharCode() kann aber nur die BMP, also Zeichen unterhalb von CodePoint 65536.

Ja. Aber da die Basic Multilingual Plane die UTF-16 Surrogatpaare enthält, kann man dank der Spec auch mit CharCodes Codepoint-Scheiße bauen.

let shitman = String.fromCharCode(0xd83d, 0xdca9);
console.log(shitman);  // 💩

Wer Surrogatpaare nicht im Kopf berechnen kann, kann sie sich über die Gegenrichtung beschaffen.

let funnyChar = String.fromCodePoint(0x1F4A9);
console.log(funnyChar.charCodeAt(0).toString(16));  // d83d
console.log(funnyChar.charCodeAt(1).toString(16));  // dca9

Rolf

--
sumpsi - posui - clusi
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