Vamos ver quem pode me ajudar com isso. Quer converter uma string ASCII para binário. É um problema relativamente simples. Em python
def toBin(intNum):
s=""
for i in [2 ** (7-n) for n in range(8)]:
s+={True:"1",False:"0"}[intNum>=i]
intNum=intNum%i
return s
print " ".join([toBin(ord(i)) for i in list("Teste")])
Não sei se é uma solução elegante, mas como fiz em menos de dois minutos, fiquei com essa mesmo. Existe um jeito mais prático? Um módulo que faça isso? E em outra linguagem?
(Não, eu não programo em binário 😉 )
View Comments (15)
Preciso converter Ascci em binário na linguagem C++ como posso fazer isso ?
Oi, tenho uma dúvida. Sou programador, porém, desatualizado, e não mexo em binário.
Na verdade quero saber como eu devo fazer para transg=formar fotos que não sei como transformei-as em bin, e agora eu quero reverter.
grato.
Bom é quando existe suporte nativo a essas coisas, como ocorre em JS:
var c = [], s = 'teste';
for(var p in s) c[c.length] = s.charCodeAt(p).toString(2);
alert(c);
só testei em '8-bit char', já em unicode talvez dê piti.
@Paulo,
Isso mesmo, na época fiz a função apenas para converter números, postei ela aqui pois é uma função recursiva, por isso achei interessante compartilhar a idéia.
Abraços
Desculpe o flood elcio.. é que enviei 2 vezes sem querer e depois só vi que não cade tudo... então fiz um arquivinho .cpp com o código
em C++ eu fiz uma classe q converte int para string binaria lembrando q um char é um int de 8 bits(ASCII)
link para o arquivo: http://felipetonello.com/TBinario.cpp
em C eu fiz uma classe q converte int para string binaria... lembrando q um char é um int de 8 bits(ASCII)
#include "vcl\vcl.h"
#include "string.h"
#pragma hdrstop
class TBinario {
public:
char * __fastcall IntToStrBin(unsigned short int num);
};
//---------------------------------------------------------------------------
char * __fastcall TBinario::IntToStrBin(unsigned short int num)
{
unsigned short int BYTE[8] = {
0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80
};
unsigned short int cont,bit=7;
static char buf[10]; //para armazenar a string de números binários.
for( cont = 0; cont
em C eu fiz uma classe q converte int para string binaria... lembrando q um char é um int de 8 bits(ASCII)
#include "vcl\vcl.h"
#include "string.h"
#pragma hdrstop
class TBinario {
public:
char * __fastcall IntToStrBin(unsigned short int num);
};
//---------------------------------------------------------------------------
char * __fastcall TBinario::IntToStrBin(unsigned short int num)
{
unsigned short int BYTE[8] = {
0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80
};
unsigned short int cont,bit=7;
static char buf[10]; //para armazenar a string de números binários.
for( cont = 0; cont
Em Python tem uma biblioteca chamada binascii que faz esse serviço e muitos outros, como converter para número de outras bases. Dá uma olhada nesse link: http://www.python.org/doc/1.5.2p2/lib/module-binascii.html
Tem uma extensão para o Firefox que faz esta conversão, a extensão se chama leetkey
http://leetkey.mozdev.org/
Bem acho que o código é aberto.
@Flávio Theruo Kaminisse:
Mas seu código funciona apenas pra numeros. Correto?