Diferença entre dados e texto?

0

Isso pode soar como uma pergunta muito boba para todos vocês e na verdade é, mas eu realmente me confundo em descobrir a diferença exata entre dados e texto.

Vou colocar minha observação, suponha que tenhamos 2 arquivos, text.txt e data.png . Como você já deve ter adivinhado, o primeiro é um arquivo de texto simples que contém texto, ele pode ser aberto por um editor de texto simples e seu conteúdo é o que chamamos de texto, certo?

Agora, o último é uma imagem, cujo conteúdo é chamado de Data, certo? Mas, embora seja uma imagem e quando você a abrisse, ela exibiria uma imagem em seu computador, mas se você alterasse sua extensão para algo como .txt ou para dizer, se você abri-la com um editor de texto como o bloco de notas (com codificação utf-8), vemos o texto, mas extremamente obscuro. Mas isso, pelo menos, prova que um arquivo de imagem também contém texto, então quais são os dados? onde estão os dados? Esses dados são de texto? Em termos de computador, como distinguir entre texto e dados?

Ainda uma outra observação que eu gostaria de compartilhar, eu estava praticando esteganografia e tive sucesso em adicionar um texto em o fim do arquivo de imagem e nem sequer o corrompeu! Então, o texto que eu adicionei não era de dados?

Obrigado

PS: não sei qual tag selecionar para essa pergunta.

    
por Sarthak123 24.02.2016 / 11:00

5 respostas

2
Em primeiro lugar, ambos os formulários são "dados" em certo sentido, e indo ao básico, ambos são armazenados exatamente da mesma maneira no nível básico, em um formato binário. Seja texto, numérico, executável, qualquer coisa, tudo é armazenado em binário, uma combinação de 0s e 1s, no meio de armazenamento que você está usando.

Então, por que o que você chama de texto exibe como funciona?

Todo o texto é armazenado novamente, como uma combinação de 0 ou 1. Mas isso em si é bastante inútil para um usuário final que deseja ver o valor armazenado na unidade. É aqui que entra a codificação de caracteres .

Você pode ter ouvido falar de alguns tipos diferentes de codificação de caracteres antes, como ASCII e UTF. Eles são usados para mapear o binário armazenado para um caractere que você reconheça (que será então exibido usando uma determinada fonte, mas isso é um pouco fora desse escopo).

Usando ASCII como exemplo, os caracteres são armazenados em 7 bits (onde um byte consiste em 8 bits), de 0000000 a 1111111. Você pode ver como cada caractere é mapeado aqui:

De link

Cada caractere, isto é, maiúscula, minúscula, símbolo e "caracteres especiais", são interpretados por um determinado valor. Usando Hello como exemplo:

'H' -> Decimal 72 -> Binary 01001000
'e' -> Decimal 101 -> Binary 01100101
'l' -> Decimal 108 -> Binary 01101100
'l' -> Decimal 108 -> Binary 01101100
'o' -> Decimal 111 -> Binary 01101111

Outros mapas de caracteres usarão todos os 8 bits, ou até mais de 1 byte, para armazenar um caractere, permitindo alfabetos maiores ou múltiplos alfabetos e mais símbolos armazenados no mesmo arquivo, usando a mesma codificação.

Assim, podemos ver como o binário pode agora ser convertido no que consideramos "texto".

Mas o que acontece quando você abre outro tipo de arquivo, não é considerado texto?

Todo arquivo em sua máquina, sendo armazenado como binário, pode ser aberto por um editor de texto que tentará ler o arquivo como uma forma de codificação. Naturalmente, o que é exibido será algo sem sentido, já que o arquivo não foi codificado para ser lido por um mapa de caracteres , mas sim para ser executado de uma maneira diferente. Muitos dos bytes corresponderão coincidentemente a um caractere do mapa que ele está usando, o que ocasionalmente significa que você vê o caractere estranho que você reconhece. O resto não será mapeado e retornará um caractere estranho ou ausente, ou corresponderá diferentes partes do mapa que não fazem sentido decodificar. Não há nada que pare tentando embora.

Eu editei os dados para um arquivo PNG, mas ele ainda foi aberto e não foi corrompido. Por quê?

Procurando aqui você pode ver a estrutura de um arquivo PNG. Especificamente:

Chunks can appear in any order, subject to the restrictions placed on each chunk type. (One notable restriction is that IHDR must appear first and IEND must appear last; thus the IEND chunk serves as an end-of-file marker.) Multiple chunks of the same type can appear, but only if specifically permitted for that type.

Esse tipo de arquivo específico fornece um marcador de fim de arquivo, que informará ao leitor que os dados além desse ponto não fazem parte do arquivo. Como tal, você pode adicionar dados além disso e pode não causar um problema se o leitor estiver manipulando o arquivo corretamente. Dito isto, se você adicionar outro marcador EoF, isso pode causar confusão.

Outra coisa a notar é que o tipo de arquivo é feito de blocos, cada um com uma verificação de CRC. A checagem do CRC diz ao leitor se o chunk é válido e não foi alterado, e deve sempre estar presente. O leitor pode ser treinado para desconsiderar dados que não incluam um bloco de dados válido e combinação de CRC, embora eu suspeite que isso cause um erro de alguma forma.

Leitura adicional:

ASCII

Arquivo binário

Codificação de caracteres

    
por 24.02.2016 / 11:26
1

Um arquivo de imagem não contém texto (exceto alguns metadados, talvez). Em vez disso, você precisa olhar para o contrário: o texto também é dado. O texto é uma maneira específica de decodificar 1s e 0s binários. Um visualizador de imagens usaria ainda outro decodificador para entender os dados brutos.

Se você tentar forçar a decodificação de texto em um arquivo que não contém texto, os resultados ficarão distorcidos, como você já descobriu.

Dependendo do formato do arquivo, os dados do lixo podem ser ignorados. Isso não é esteganografia, no entanto, porque os dados adicionais não estão ocultos. A esteganografia seria alterar alguns dos pixels para codificar os dados.

    
por 24.02.2016 / 11:17
0

In information technology, text is a human-readable sequence of characters and the words they form that can be encoded into computer-readable formats such as ASCII or UTF-8. Text is usually distinguished from non-character encoded data, such as graphic images in the form of bitmaps and program code, which is sometimes referred to as being in "binary" (but is actually in its own computer-readable format).

Fonte: O que é o texto?

    
por 24.02.2016 / 11:15
0

Não são realmente os dados da imagem que você vê, é a codificação da imagem que agora é textual. Não precisa ser, basta olhar para um jpg, por exemplo. Basicamente, a diferença de uma representação de informação em forma de texto e binária (você chama dados) é que você não usa todos os valores de bytes possíveis (caracteres de 8 bytes), mas um subconjunto deles que você geralmente escreve com . Em outras palavras, em textos menos símbolos são usados. Como resultado, os arquivos de texto têm que ser maiores que os arquivos binários com o mesmo conteúdo de informação que é a mesma quantidade de informação que requer mais instâncias com menor quantidade de símbolos.

Eu recomendo instalar algum visualizador hexa (o comandante total e o gerenciador distante são capazes) e apenas olhar para os arquivos e isso ficará mais claro em breve.

    
por 24.02.2016 / 11:17
0

Dados: Significa fatos coletados juntos para alguma referência.

Texto: simplesmente a combinação de letras ou caracteres.

    
por 24.02.2016 / 11:05