Sobes.tech
Junior

Jaké jsou známé běžné způsoby kódování ve vývoji?

sobes.tech AI

Odpověď od AI

Kódování v vývoji může odkazovat na různé aspekty: od reprezentace dat po organizaci kódu.

Některé běžné způsoby:

  • Reprezentace znaků:

    • ASCII: Sedmibitové kódování pro latinské písmena, číslice a některé symboly. Zastaralé pro většinu moderních úkolů.
    • UTF-8: Prakticky standard. Proměnlivá délka kódování, podporuje téměř všechny znaky všech psaných jazyků. Kompatibilní s ASCII.
    • UTF-16: Proměnlivá délka kódování, používá se v některých systémech a jazycích (například Java, Windows).
    • Windows-1251: Jednobajtové kódování pro cyrilici, bylo populární na platformách Windows. Zastaralé.
  • Serializace dat: Převod datové struktury do formátu vhodného pro ukládání nebo přenos.

    • JSON (JavaScript Object Notation): Lehký, čitelný formát. Široce používaný pro výměnu dat mezi serverem a klientem.
      {
        "name": "Příklad",
        "value": 123,
        "isValid": true,
        "items": [
          "jeden",
          "dva"
        ]
      }
      
    • XML (Extensible Markup Language): Složitější formát založený na značkách. Používá se v různých oblastech, včetně webových služeb a ukládání konfigurací.
      <root>
          <item id="1">Jeden</item>
          <item id="2">Dva</item>
      </root>
      
    • YAML (YAML Ain't Markup Language): Čitelný formát, často používaný pro konfigurační soubory.
      name: Příklad
      value: 123
      isValid: true,
      items:
        - jeden
        - dva
      
    • Protobuf (Protocol Buffers): Binární formát serializace vyvinutý společností Google. Kompaktní a efektivní pro přenos dat přes síť. Vyžaduje definici schématu.
    • MessagePack: Binární formát podobný JSON, ale kompaktnější.
  • Kódování URL: Převod speciálních znaků v URL (mezery, & a další) do formátu %XX, kde XX je šestnáctková reprezentace bajtu.

    <?php
    // Kódování URL řetězce
    $string = "Řetězec s mezerami!";
    $encoded_string = urlencode($string);
    echo $encoded_string; // Vypíše: %D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B0+%D1%81+%D0%BF%D1%80%D0%BE%D0%B1%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8%21
    ?>
    
  • Base64 kódování: Převod binárních dat na řetězec ASCII znaků (písmena, číslice, +, /, =). Používá se pro bezpečný přenos binárních dat v textových protokolech (například emailové přílohy).

    <?php
    // Base64 kódování řetězce
    $string = "Binární data: \x01\x02\x03";
    $encoded_string = base64_encode($string);
    echo $encoded_string; // Vypíše: 0L7QvdGP0YAg0LTQtdGA0LjQutCwOiABAQI=
    ?>
    
  • Kódování zdrojového kódu: V PHP je to UTF-8, ale je důležité, aby soubory byly uloženy v tomto kódování a webový server/prohlížeč byly správně nakonfigurovány pro jeho interpretaci. Použití zastaralých kódování, jako je Windows-1251, může způsobit problémy s zobrazováním znaků.

Tabulka srovnání některých kódování znaků:

Kódování Typ Podporované znaky Kompatibilita s ASCII Použití
ASCII Jednobajtové Latinská abeceda, číslice Plná Zastaralé
UTF-8 Proměnlivá Prakticky všechny znaky Plná Web, většina moderních systémů
UTF-16 Proměnlivá Prakticky všechny znaky Částečná Některé jazyky, OS
Windows-1251 Jednobajtové Cyrilice, latinská písmena Ne Zastaralé, pro ruské systémy