Sobes.tech
Junior

Quais são os métodos comuns de codificação no desenvolvimento?

sobes.tech IA

Resposta da IA

A codificação em desenvolvimento pode referir-se a diferentes aspetos: desde a representação de dados até à organização do código.

Algumas formas comuns:

  • Representação de caracteres:

    • ASCII: Codificação de sete bits para letras latinas, dígitos e alguns símbolos. Obsoleta para a maioria das tarefas modernas.
    • UTF-8: Padrão de facto. Codificação de comprimento variável que suporta quase todos os caracteres de todas as línguas escritas. Compatível com ASCII.
    • UTF-16: Codificação de comprimento variável, usada em alguns sistemas e linguagens (por exemplo, Java, Windows).
    • Windows-1251: Codificação de um byte para o cirílico, popular em plataformas Windows. Obsoleta.
  • Serialização de dados: Transformar a estrutura de dados num formato adequado ao armazenamento ou transmissão.

    • JSON (JavaScript Object Notation): Formato leve e legível por humanos. Amplamente usado para troca de dados entre servidor e cliente.
      {
        "name": "Exemplo",
        "value": 123,
        "isValid": true,
        "items": [
          "um",
          "dois"
        ]
      }
      
    • XML (Extensible Markup Language): Formato mais complexo baseado em etiquetas. Usado em várias áreas, incluindo serviços web e armazenamento de configurações.
      <root>
          <item id="1">Um</item>
          <item id="2">Dois</item>
      </root>
      
    • YAML (YAML Ain't Markup Language): Formato legível por humanos, frequentemente usado em ficheiros de configuração.
      name: Exemplo
      value: 123
      isValid: true
      items:
        - um
        - dois
      
    • Protobuf (Protocol Buffers): Formato binário de serialização desenvolvido pelo Google. Compacto e eficiente para transmissão de dados em rede. Requer a definição de um esquema.
    • MessagePack: Formato binário semelhante a JSON, mas mais compacto.
  • Codificação de URL: Transformar caracteres especiais em URL (espaços, &, etc.) em formato %XX, onde XX é a representação hexadecimal do byte.

    <?php
    // Codificação de URL de uma string
    $string = "String com espaços!";
    $encoded_string = urlencode($string);
    echo $encoded_string; // Mostrará: %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
    ?>
    
  • Codificação Base64: Transformar dados binários numa cadeia de caracteres ASCII (letras, dígitos, +, /, =). Usado para transmissão segura de dados binários em protocolos de texto (por exemplo, anexos de email).

    <?php
    // Codificação Base64 de uma string
    $string = "Dados binários: \x01\x02\x03";
    $encoded_string = base64_encode($string);
    echo $encoded_string; // Mostrará: 0L7QvdGP0YAg0LTQtdGA0LjQutCwOiABAQI=
    ?>
    
  • Codificação do código fonte: Em PHP, é UTF-8, mas é importante garantir que os ficheiros estejam guardados nesta codificação e que o servidor/navegador estejam configurados corretamente para interpretá-la. O uso de codificações obsoletas, como Windows-1251, pode causar problemas na visualização de caracteres.

Tabela comparativa de algumas codificações de caracteres:

Codificação Tipo Caracteres suportados Compatibilidade com ASCII Uso
ASCII De um byte Alfabeto latino, dígitos Completa Obsoleta
UTF-8 Variável Quase todos os caracteres Completa Web, a maioria dos sistemas modernos
UTF-16 Variável Quase todos os caracteres Parcial Algumas linguagens, OS
Windows-1251 De um byte Alfabeto cirílico, latino Não Obsoleta, para sistemas russófonos