Obrigado à todos! Problema solucionado! 2009/12/29 [email protected] <[email protected]>
> > > Olá Michael ! Tudo joia ? E os cubos ? Continua perdendo tempo com isso ? > > Como não gosto disso , acabei estudando shell e agora vou te ajudar ! > kkkkkkkkkk > > Abraço e depois me paga uma cerveja > > PS Estou utilizando um arquivo contendo a tabela ASCII-1 > veja aqui http://pastebin.com/m635fb559 > > O código abaixo faz o que você solicitou, sem perfumaria. > > > nha...@nhanhaserver :~$ cat txt2bin.sh > #!/bin/sh > if [ $2 ]; then echo "usage $0 <string>"; exit 1; fi > if [ ! "$1" ]; then echo "usage $0 <string>"; exit 1; fi > echo $1 > > QTD=$(echo -n "$1" |wc -c) > COUNT=0 > while [ ${COUNT} -lt ${QTD} ] ; do > CHAR=$(expr ${COUNT} + 1) > LETRA=$(echo "${1}" | cut -c ${CHAR}) > if [ "${LETRA}" = " " ] ; then LETRA="(sp)"; fi > ASCII=$(grep "^${LETRA} " ascii.txt | awk '{print $2}') > BIN=$(echo "obase=2;${ASCII}" | bc) > LENBIN=$(echo -n ${BIN} | wc -c) > while [ ${LENBIN} -lt 8 ]; do > BIN="0${BIN}" > LENBIN=$(echo -n ${BIN} | wc -c) > done > if [ ${BIN} = "00000000" ]; then BIN="NAO TEM NA MINHA TABELA ASCII-1"; fi > echo -e "${COUNT}\t${LETRA}\t${ASCII}\t${BIN}" > COUNT=$(expr ${COUNT} + 1) > done > echo "\"${1}\" tem ${QTD} caracteres" > nha...@nhanhaserver :~$ sh ./txt2bin.sh "Teste de script de txt para ASCII > binário" > Teste de script de txt para ASCII binário > 0 T 84 01010100 > 1 e 101 01100101 > 2 s 115 01110011 > 3 t 116 01110100 > 4 e 101 01100101 > 5 (sp) 32 00100000 > 6 d 100 01100100 > 7 e 101 01100101 > 8 (sp) 32 00100000 > 9 s 115 01110011 > 10 c 99 01100011 > 11 r 114 01110010 > 12 i 105 01101001 > 13 p 112 01110000 > 14 t 116 01110100 > 15 (sp) 32 00100000 > 16 d 100 01100100 > 17 e 101 01100101 > 18 (sp) 32 00100000 > 19 t 116 01110100 > 20 x 120 01111000 > 21 t 116 01110100 > 22 (sp) 32 00100000 > 23 p 112 01110000 > 24 a 97 01100001 > 25 r 114 01110010 > 26 a 97 01100001 > 27 (sp) 32 00100000 > 28 A 65 01000001 > 29 S 83 01010011 > 30 C 67 01000011 > 31 I 73 01001001 > 32 I 73 01001001 > 33 (sp) 32 00100000 > 34 b 98 01100010 > 35 i 105 01101001 > 36 n 110 01101110 > 37 á NAO TEM NA MINHA TABELA ASCII-1 > 38 r 114 01110010 > 39 i 105 01101001 > 40 o 111 01101111 > "Teste de script de txt para ASCII binário" tem 41 caracteres > nha...@nhanhaserver :~$ > Se quiser também pegar caracteres especiais, acentuados etc, faça as > modificações necessárias. > > --- Em [email protected] <shell-script%40yahoogrupos.com.br>, > Michael Costa <linuxaj...@...> escreveu > > > > > Oá lista! Imaginem o seguinte cenário, gostaria de escrever um texto e > > convertê-lo para binário. > > > > Eu já tenho a tabela ASCII, então a minha idéia seria pegar a letra O por > > exemplo e convertê-la para decimal segundo a tabela ASCII, ficaria 79, em > > seguida, converteria este 79 em binario, resultando em 1001111. Ótimo! É > > isto que preciso. > > > > Preciso apenas automatizar tudo isto. > > > > O que tenho ? > > > > Tabela ASCII > > Comandos para conversão (Dec to Bin (echo 'obase=2;79' | bc) e Bin to Dec > > (echo 'ibase=2;01001111' |bc)). > > > > A dúvida é: como automatizar tudo isto ? > > > > A idéia é escrever um texto (incluindo a pontuação, espaços, etc) e ter a > > saída em código binário. Seria interessante ele acrescentar os 0 à > esquerda > > para que fique sempre com 8 caracteres. E claro, o código inverso para > > converter do binário para string. > > > > Podem me orientar ? > > > > Abraços! > > > > Michael > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > [As partes desta mensagem que não continham texto foram removidas]
