Jump to content
Sign in to follow this  
dbrito

Codificação/decodificação

Recommended Posts

Olá todos.eu preciso de uma grande ajuda,eu quero criar um codificador e decodificador para qualquer tipo de arquivo.

Tipos de codificação e decodificação:

ASCII

Utf-8

Unicode

OEM 850

OEM 1256

Codificação expandido.

 

Share this post


Link to post
Share on other sites

eu nao fiz porque to apredendo e queria saber quem poderia me ajuda mandando os codigos e explicando pra quer servem.

3 minutos atrás, Fernando Mercês disse:

Legal, mas não entendi sua dúvida ainda. Como tá seu código? Posta ele aqui e onde tem dúvida que a galera ajuda. 😉

 

estou focado em aprender sobre a tabela ASCII 255

Share this post


Link to post
Share on other sites
11 horas atrás, dbrito disse:

eu nao fiz porque to apredendo e queria saber quem poderia me ajuda mandando os codigos e explicando pra quer servem.

 

estou focado em aprender sobre a tabela ASCII 255

Se tiver no linux, vai no terminal e executa. 

Citar

man ascii

Tem muita informação útil. De modo geral, cara caracter tem um código que o representa.
Você tem tanto em decimal quanto em hexadecimal. O que difere é que 16 em hexadecimal é F

Quando você tem uma palavra "MenteBinaria", por exemplo:

Em hex:
 

Citar

4d 65 6e 74 65 42 69 6e 61 72 69 61 === MenteBinaria

Se você adicionar o número 3 em hexadecimal na primeira letra (M = 4d). O seu 4d vira 50 e na tabela ascii 50 em hexadecimal é referente a letra P.

Ou seja, se eu adicionar 3 em hexadecimal em todas as letras esse é o resultado:

Citar

50 68 71 77 68 45 6c 71 64 75 6c 64 === PhqwhElqduld

Pronto, acabou de codificar uma palavra. Para voltar a palavra de origem eu preciso diminuir 3 em hexadecimal.

Espero ter ajudado. Abraço!

Share this post


Link to post
Share on other sites

Se ele fala em usar python, não sei se seria necessário usar iconv, veja essa página.

Codec Aliases Languages
ascii 646, us-ascii English
big5 big5-tw, csbig5 Traditional Chinese
big5hkscs big5-hkscs, hkscs Traditional Chinese
cp037 IBM037, IBM039 English
cp273 273, IBM273, csIBM273

German

New in version 3.4.

cp424 EBCDIC-CP-HE, IBM424 Hebrew
cp437 437, IBM437 English
cp500 EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500 Western Europe
cp720   Arabic
cp737   Greek
cp775 IBM775 Baltic languages
cp850 850, IBM850 Western Europe
cp852 852, IBM852 Central and Eastern Europe
cp855 855, IBM855 Bulgarian, Byelorussian, Macedonian, Russian, Serbian
cp856   Hebrew
cp857 857, IBM857 Turkish
cp858 858, IBM858 Western Europe
cp860 860, IBM860 Portuguese
cp861 861, CP-IS, IBM861 Icelandic
cp862 862, IBM862 Hebrew
cp863 863, IBM863 Canadian
cp864 IBM864 Arabic
cp865 865, IBM865 Danish, Norwegian
cp866 866, IBM866 Russian
cp869 869, CP-GR, IBM869 Greek
cp874   Thai
cp875   Greek
cp932 932, ms932, mskanji, ms-kanji Japanese
cp949 949, ms949, uhc Korean
cp950 950, ms950 Traditional Chinese
cp1006   Urdu
cp1026 ibm1026 Turkish
cp1125 1125, ibm1125, cp866u, ruscii

Ukrainian

New in version 3.4.

cp1140 ibm1140 Western Europe
cp1250 windows-1250 Central and Eastern Europe
cp1251 windows-1251 Bulgarian, Byelorussian, Macedonian, Russian, Serbian
cp1252 windows-1252 Western Europe
cp1253 windows-1253 Greek
cp1254 windows-1254 Turkish
cp1255 windows-1255 Hebrew
cp1256 windows-1256 Arabic
cp1257 windows-1257 Baltic languages
cp1258 windows-1258 Vietnamese
cp65001  

Windows only: Windows UTF-8 (CP_UTF8)

New in version 3.3.

euc_jp eucjp, ujis, u-jis Japanese
euc_jis_2004 jisx0213, eucjis2004 Japanese
euc_jisx0213 eucjisx0213 Japanese
euc_kr euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001 Korean
gb2312 chinese, csiso58gb231280, euc- cn, euccn, eucgb2312-cn, gb2312-1980, gb2312-80, iso- ir-58 Simplified Chinese
gbk 936, cp936, ms936 Unified Chinese
gb18030 gb18030-2000 Unified Chinese
hz hzgb, hz-gb, hz-gb-2312 Simplified Chinese
iso2022_jp csiso2022jp, iso2022jp, iso-2022-jp Japanese
iso2022_jp_1 iso2022jp-1, iso-2022-jp-1 Japanese
iso2022_jp_2 iso2022jp-2, iso-2022-jp-2 Japanese, Korean, Simplified Chinese, Western Europe, Greek
iso2022_jp_2004 iso2022jp-2004, iso-2022-jp-2004 Japanese
iso2022_jp_3 iso2022jp-3, iso-2022-jp-3 Japanese
iso2022_jp_ext iso2022jp-ext, iso-2022-jp-ext Japanese
iso2022_kr csiso2022kr, iso2022kr, iso-2022-kr Korean
latin_1 iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1 West Europe
iso8859_2 iso-8859-2, latin2, L2 Central and Eastern Europe
iso8859_3 iso-8859-3, latin3, L3 Esperanto, Maltese
iso8859_4 iso-8859-4, latin4, L4 Baltic languages
iso8859_5 iso-8859-5, cyrillic Bulgarian, Byelorussian, Macedonian, Russian, Serbian
iso8859_6 iso-8859-6, arabic Arabic
iso8859_7 iso-8859-7, greek, greek8 Greek
iso8859_8 iso-8859-8, hebrew Hebrew
iso8859_9 iso-8859-9, latin5, L5 Turkish
iso8859_10 iso-8859-10, latin6, L6 Nordic languages
iso8859_11 iso-8859-11, thai Thai languages
iso8859_13 iso-8859-13, latin7, L7 Baltic languages
iso8859_14 iso-8859-14, latin8, L8 Celtic languages
iso8859_15 iso-8859-15, latin9, L9 Western Europe
iso8859_16 iso-8859-16, latin10, L10 South-Eastern Europe
johab cp1361, ms1361 Korean
koi8_r   Russian
koi8_t  

Tajik

New in version 3.5.

koi8_u   Ukrainian
kz1048 kz_1048, strk1048_2002, rk1048

Kazakh

New in version 3.5.

mac_cyrillic maccyrillic Bulgarian, Byelorussian, Macedonian, Russian, Serbian
mac_greek macgreek Greek
mac_iceland maciceland Icelandic
mac_latin2 maclatin2, maccentraleurope Central and Eastern Europe
mac_roman macroman, macintosh Western Europe
mac_turkish macturkish Turkish
ptcp154 csptcp154, pt154, cp154, cyrillic-asian Kazakh
shift_jis csshiftjis, shiftjis, sjis, s_jis Japanese
shift_jis_2004 shiftjis2004, sjis_2004, sjis2004 Japanese
shift_jisx0213 shiftjisx0213, sjisx0213, s_jisx0213 Japanese
utf_32 U32, utf32 all languages
utf_32_be UTF-32BE all languages
utf_32_le UTF-32LE all languages
utf_16 U16, utf16 all languages
utf_16_be UTF-16BE all languages
utf_16_le UTF-16LE all languages
utf_7 U7, unicode-1-1-utf-7 all languages
utf_8 U8, UTF, utf8 all languages
utf_8_sig   all languages
  • Curtir 1

Share this post


Link to post
Share on other sites
20 horas atrás, dbrito disse:

 

eu nao fiz porque to apredendo

 

Se quiser aprender, você precisa tentar fazer e pedir ajuda quando tiver dúvidas sobre o que está ou não funcionando. Se a gente fizer o seu trabalho, você não aprende nada e é desonesto com quem recebe esse código de você (afinal, nós o teríamos feito, não você). ;)

Abraço.

Share this post


Link to post
Share on other sites
7 horas atrás, Fernando Mercês disse:

Se quiser aprender, você precisa tentar fazer e pedir ajuda quando tiver dúvidas sobre o que está ou não funcionando. Se a gente fizer o seu trabalho, você não aprende nada e é desonesto com quem recebe esse código de você (afinal, nós o teríamos feito, não você). ;)

Abraço.

vdd por isso nao estou pedindo que me deem o conteudo e sim me ensine!com todo respeito vc ja nasceu  sabendo que podia andar?que sabai ler?e etc..?as vezes precisamos de ajudar nao porque somos burros e sim por nao entender rapido!

7 horas atrás, gzn disse:

U8, UTF, utf8

esse tipo de codificação aqui que deve estar no texto!

Share this post


Link to post
Share on other sites

Leia essa pergunta no stackoverflow e as respostas que seguem. Depois de ler e entender você precisará escolher uma entre as bibliotecas listadas (pip install <biblioteca>)

Um pseudocódigo para resolver isso: :D

for arquivo in lista_de_arquivos:

    #detectar codificação do arquivo

    #converter para utf8

Como procurar por arquivos txt?

Como converter de uma codificação para outra?

 

Share this post


Link to post
Share on other sites

pessoal esse arquivo aqui mais nao to sabendo fazer sempre da erro...se nao me engano e um compilacao ASCII 256 mais vei isso ta me estressando demais porque eu nao to sabendo resolver e trazer ao texto normal

textotest.csv

Edited by dbrito

Share this post


Link to post
Share on other sites

@dbrito

De que jogo é esse arquivo e por que você não falou logo que queria converter os arquivos em texto legível (suponho que você quer criar um servidor privado)?

De para perceber que não se trata de estudo ou escola ou algo que seu "chefe" pediu. Posso estar enganado mas... é o que acredito que seja...

Pelo visto você é tão ou mais inexperiente do que nós em ER. Existe 99% de chance que esse arquivo não seja csv. Ele tem strings ASCII porém elas estão embutidas em um formato especial de arquivo. Se você consegue ler strings normalmente em um editor como notepad ou mesmo o view de um ambiente linux você deve saber que a decodificação padrão usada é ASCII ou UTF-8 (que é compatível com ASCII até certo ponto), logo o problema como dito não é a codificação e sim o formato do arquivo. A codificação dentro do arquivo para strings pode ser ASCII, mas a estrutura em como elas são colocadas é outra coisa, e outra coisa ainda o que significam.

Para entender melhor o formato você vai ter que fazer Engenharia Reversa do formato do arquivo (vai ter que abrir o programa que lê esses arquivos e ir decifrando o que ele faz com cada dado carregado). Já digo de primeira, se você está aprendendo ER ou mesmo programação, esqueça.

Treine mais com coisas conhecidas porque um projeto de decodificação de formato de arquivo envolve anos de estudo e até mais de uma pessoa trabalhando nele. Pode ser que esse arquivo de jogo não seja tão difícil fazer ER, mas eu não quero te incentivar perder tempo com isso.

Abraços @dbrito

Edited by gzn

Share this post


Link to post
Share on other sites

tem esses dois que pode ser que com eles vc possa ter um ideia de onde eu posso comecar a estudar eles..

item_desc.csv

item_desc2.csv

8 horas atrás, gzn disse:

@dbrito

De que jogo é esse arquivo e por que você não falou logo que queria converter os arquivos em texto legível (suponho que você quer criar um servidor privado)?

De para perceber que não se trata de estudo ou escola ou algo que seu "chefe" pediu. Posso estar enganado mas... é o que acredito que seja...

Pelo visto você é tão ou mais inexperiente do que nós em ER. Existe 99% de chance que esse arquivo não seja csv. Ele tem strings ASCII porém elas estão embutidas em um formato especial de arquivo. Se você consegue ler strings normalmente em um editor como notepad ou mesmo o view de um ambiente linux você deve saber que a decodificação padrão usada é ASCII ou UTF-8 (que é compatível com ASCII até certo ponto), logo o problema como dito não é a codificação e sim o formato do arquivo. A codificação dentro do arquivo para strings pode ser ASCII, mas a estrutura em como elas são colocadas é outra coisa, e outra coisa ainda o que significam.

Para entender melhor o formato você vai ter que fazer Engenharia Reversa do formato do arquivo (vai ter que abrir o programa que lê esses arquivos e ir decifrando o que ele faz com cada dado carregado). Já digo de primeira, se você está aprendendo ER ou mesmo programação, esqueça.

Treine mais com coisas conhecidas porque um projeto de decodificação de formato de arquivo envolve anos de estudo e até mais de uma pessoa trabalhando nele. Pode ser que esse arquivo de jogo não seja tão difícil fazer ER, mas eu não quero te incentivar perder tempo com isso.

Abraços @dbrito

eu tb quero aprender com esses arquivos pra ajudar com edicoes de jogos que tem por ai a pessoas que nao sabem!eu gosto de ajudar as pessoas.

Share this post


Link to post
Share on other sites

@dbrito é muito difícil dizer como interpretar esses arquivos porque depende de quem os interpreta. Nós vemos um objeto (uma bola por exemplo) como iremos interagir com a bola ninguém sabe, vai depender de quem vai interagir com ela (ele pode jogar futebol, pode jogar vôlei, basquete, etc., ou, até furá-la e jogar ela fora...).

Pesquisando na internet sobre engenharia reversa de formatos de arquivos binários achei esse link. Bem interessante ele. Eu daria uma lida se quisesse entender um formato de arquivo.

Ah! Dê uma lida nesse link aqui também (This document explains in detail how to start exploring and examining file formats, with a focus on Game Resource Archives).

Edited by gzn

Share this post


Link to post
Share on other sites
1 hora atrás, gzn disse:

@dbrito é muito difícil dizer como interpretar esses arquivos porque depende de quem os interpreta. Nós vemos um objeto (uma bola por exemplo) como iremos interagir com a bola ninguém sabe, vai depender de quem vai interagir com ela (ele pode jogar futebol, pode jogar vôlei, basquete, etc., ou, até furá-la e jogar ela fora...).

Pesquisando na internet sobre engenharia reversa de formatos de arquivos binários achei esse link. Bem interessante ele. Eu daria uma lida se quisesse entender um formato de arquivo.

Ah! Dê uma lida nesse link aqui também (This document explains in detail how to start exploring and examining file formats, with a focus on Game Resource Archives).

eu tirei uma duvida bem grande entao tem arquivos que levam tempo descobrir oque tem neles.mais alguns nao vale a pena pois como o arquivo .dat e um arquivo de banco de dados...acredito eu que nao pode ser descompilado.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...