Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #20833 > unrolled thread

Convertire caratteri o parole da binario ad ASCII e viceversa

Started byTrego <NOSP@AM.it>
First post2016-05-24 15:31 +0200
Last post2016-05-25 15:39 +0200
Articles 19 — 6 participants

Back to article view | Back to it.comp.www.php


Contents

  Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-24 15:31 +0200
    Re: Convertire caratteri o parole da binario ad ASCII e viceversa fmassei@gmail.com - 2016-05-24 06:48 -0700
      Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-24 16:48 +0200
        Re: Convertire caratteri o parole da binario ad ASCII e viceversa fmassei@gmail.com - 2016-05-24 08:01 -0700
          Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-24 17:04 +0200
            Re: Convertire caratteri o parole da binario ad ASCII e viceversa "ciccio" <21669invalid@mynewsgate.net> - 2016-05-24 15:23 +0000
              Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-24 17:57 +0200
                Re: Convertire caratteri o parole da binario ad ASCII e viceversa fmassei@gmail.com - 2016-05-24 09:01 -0700
                  Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-25 15:40 +0200
                Re: Convertire caratteri o parole da binario ad ASCII e viceversa Leonardo Serni <lserni@gmail.com> - 2016-05-24 18:30 +0200
                  Re: Convertire caratteri o parole da binario ad ASCII e viceversa fmassei@gmail.com - 2016-05-24 09:38 -0700
                  Re: Convertire caratteri o parole da binario ad ASCII e viceversa fmigliori <fmigliori@gmail.com> - 2016-05-24 11:09 -0700
                    Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-25 15:38 +0200
                      Re: Convertire caratteri o parole da binario ad ASCII e viceversa Alessandro Pellizzari <shuriken@amiran.it> - 2016-05-25 15:06 +0100
                        Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-25 16:23 +0200
                      Re: Convertire caratteri o parole da binario ad ASCII e viceversa Leonardo Serni <lserni@gmail.com> - 2016-05-25 22:17 +0200
                        Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-26 11:24 +0200
                          Re: Convertire caratteri o parole da binario ad ASCII e viceversa Alessandro Pellizzari <shuriken@amiran.it> - 2016-05-26 12:10 +0100
                  Re: Convertire caratteri o parole da binario ad ASCII e viceversa Trego <NOSP@AM.it> - 2016-05-25 15:39 +0200

#20833 — Convertire caratteri o parole da binario ad ASCII e viceversa

FromTrego <NOSP@AM.it>
Date2016-05-24 15:31 +0200
SubjectConvertire caratteri o parole da binario ad ASCII e viceversa
Message-ID<ni1l47$1fsv$1@gioia.aioe.org>
Ciao, vorrei convertire attraverso PHP un carattere o in genere una 
parola, ossia un insieme di caratteri in codice binario e viceversa, 
verso quale funzione o meccanismo mi indirizzate?
Se ad esempio scrivendo amore vorrei ottenere: 01100001 01101101 
01101111 01110010 01100101 e viceversa... scrivendo 01100001 01101101 
01101111 01110010 01100101, ottenere la parola amore.
Usando dei caratteri particolati tipo 🙋, è possibile sempre tramite 
qualche funzione ricavarne il binario e viceversa?
Grazie per l'attenzione 😃

[toc] | [next] | [standalone]


#20834

Fromfmassei@gmail.com
Date2016-05-24 06:48 -0700
Message-ID<c51ce058-6ccf-4e78-a5e3-a6b1fd200982@googlegroups.com>
In reply to#20833
On Tuesday, May 24, 2016 at 9:31:59 AM UTC-4, Trego wrote:
> Ciao, vorrei convertire attraverso PHP un carattere o in genere una 
> parola, ossia un insieme di caratteri in codice binario e viceversa, 
> verso quale funzione o meccanismo mi indirizzate?
> Se ad esempio scrivendo amore vorrei ottenere: 01100001 01101101 
> 01101111 01110010 01100101 e viceversa... scrivendo 01100001 01101101 
> 01101111 01110010 01100101, ottenere la parola amore.
> Usando dei caratteri particolati tipo 🙋, è possibile sempre tramite 
> qualche funzione ricavarne il binario e viceversa?
> Grazie per l'attenzione 😃
>

Se ti limiti alla tabella ASCII la funzione che cerchi è ord(), converte
un carattere a intero.
Per stringhe in altri encoding (come l'emoticon che hai messo) converti
con mb_convert_encoding() in UTF-8 e "monta insieme" il ritorno per avere
il numero completo.

Ciao!

[toc] | [prev] | [next] | [standalone]


#20835

FromTrego <NOSP@AM.it>
Date2016-05-24 16:48 +0200
Message-ID<ni1pke$1ovo$1@gioia.aioe.org>
In reply to#20834
> Se ti limiti alla tabella ASCII la funzione che cerchi è ord(), converte
> un carattere a intero.
> Per stringhe in altri encoding (come l'emoticon che hai messo) converti
> con mb_convert_encoding() in UTF-8 e "monta insieme" il ritorno per avere
> il numero completo.
>
> Ciao!


Grazie per l'intervento :)
Cercavo, se c'è, una funzione del tipo: prende, per esempio, il 
carattere a e restituisce il corrispettivo binario 01100001


[toc] | [prev] | [next] | [standalone]


#20836

Fromfmassei@gmail.com
Date2016-05-24 08:01 -0700
Message-ID<8030544f-668b-4e3f-bd51-4718936d815c@googlegroups.com>
In reply to#20835
On Tuesday, May 24, 2016 at 10:48:49 AM UTC-4, Trego wrote:
> Grazie per l'intervento :)
> Cercavo, se c'è, una funzione del tipo: prende, per esempio, il 
> carattere a e restituisce il corrispettivo binario 01100001
>

decbin() prende un intero e ritorna una stringa contenente la sua
rappresentazione binaria.

Ciao!

[toc] | [prev] | [next] | [standalone]


#20837

FromTrego <NOSP@AM.it>
Date2016-05-24 17:04 +0200
Message-ID<ni1qh8$1qc9$1@gioia.aioe.org>
In reply to#20836
> decbin() prende un intero e ritorna una stringa contenente la sua
> rappresentazione binaria.
>
> Ciao!

Grazie mille, me la studierò :)
Un saluto

[toc] | [prev] | [next] | [standalone]


#20838

From"ciccio" <21669invalid@mynewsgate.net>
Date2016-05-24 15:23 +0000
Message-ID<2016052415232321669@mynewsgate.net>
In reply to#20837
Trego <NOSP@AM.it> ha scritto:

> > decbin() prende un intero e ritorna una stringa contenente la sua
> > rappresentazione binaria.
> >
> > Ciao!
> 
> Grazie mille, me la studierò :)
> Un saluto

$char = "a";

$bin = decbin(ord($char));

echo $bin;

[toc] | [prev] | [next] | [standalone]


#20839

FromTrego <NOSP@AM.it>
Date2016-05-24 17:57 +0200
Message-ID<ni1tl4$1vlf$1@gioia.aioe.org>
In reply to#20838
> $char = "a";
>
> $bin = decbin(ord($char));
>
> echo $bin;

Grazie per l'esempio :)
E se ho una parola, tipo amore e vorrei ottenere la conversione di tutte 
le lettere che compongono la parola, che esempio mi proponi(ete)?

[toc] | [prev] | [next] | [standalone]


#20840

Fromfmassei@gmail.com
Date2016-05-24 09:01 -0700
Message-ID<6e396d64-d68b-41c9-b27e-e5669347386c@googlegroups.com>
In reply to#20839
On Tuesday, May 24, 2016 at 11:57:27 AM UTC-4, Trego wrote:
> > $char = "a";
> >
> > $bin = decbin(ord($char));
> >
> > echo $bin;
> 
> Grazie per l'esempio :)
> E se ho una parola, tipo amore e vorrei ottenere la conversione di tutte 
> le lettere che compongono la parola, che esempio mi proponi(ete)?
>

Non sai scrivere un for?

Ciao!

[toc] | [prev] | [next] | [standalone]


#20850

FromTrego <NOSP@AM.it>
Date2016-05-25 15:40 +0200
Message-ID<ni4a14$18vf$3@gioia.aioe.org>
In reply to#20840
> Non sai scrivere un for?
> Ciao!


Sì, certo, però trovando persone disponibili e gentili, meglio avere 
qualcosa da cui prendere spunto :)

[toc] | [prev] | [next] | [standalone]


#20841

FromLeonardo Serni <lserni@gmail.com>
Date2016-05-24 18:30 +0200
Message-ID<b109kbhgbnl8m1mpkjiv0rl723o6h79nsa@L.Serni>
In reply to#20839
On Tue, 24 May 2016 17:57:24 +0200, Trego <NOSP@AM.it> wrote:

>> $char = "a";
>>
>> $bin = decbin(ord($char));
>>
>> echo $bin;
>
>Grazie per l'esempio :)
>E se ho una parola, tipo amore e vorrei ottenere la conversione di tutte 
>le lettere che compongono la parola, che esempio mi proponi(ete)?

echo wordwrap(
    implode(' ',
        array_map(
            function($pad_str) {
                 return str_pad($pad_str, 8, 0, STR_PAD_LEFT);
            },
            array_map(
                'decbin',
                array_map(
                   'ord',
                   preg_split('##', 'AMORE', -1, PREG_SPLIT_NO_EMPTY)
                )
            )
        )
    )
);

Leonardo
-- 

A terrible beauty is born.
                                     - W. B. Yeats, Easter 1916

[toc] | [prev] | [next] | [standalone]


#20842

Fromfmassei@gmail.com
Date2016-05-24 09:38 -0700
Message-ID<e7cbe6e3-619b-4e35-8e38-a4237f9835f9@googlegroups.com>
In reply to#20841
On Tuesday, May 24, 2016 at 12:30:38 PM UTC-4, Leonardo Serni wrote:
> >E se ho una parola, tipo amore e vorrei ottenere la conversione di tutte 
> >le lettere che compongono la parola, che esempio mi proponi(ete)?
> 
> echo wordwrap(
> [...]
> );
> 

LOL - well played :)

Ciao!

[toc] | [prev] | [next] | [standalone]


#20843

Fromfmigliori <fmigliori@gmail.com>
Date2016-05-24 11:09 -0700
Message-ID<a99a46ab-8499-4151-bde5-e8499b9a3813@googlegroups.com>
In reply to#20841
Il giorno martedì 24 maggio 2016 18:30:38 UTC+2, Leonardo Serni ha scritto:
> On Tue, 24 May 2016 17:57:24 +0200, Trego <NOSP@AM.it> wrote:
> 
> >> $char = "a";
> >>
> >> $bin = decbin(ord($char));
> >>
> >> echo $bin;
> >
> >Grazie per l'esempio :)
> >E se ho una parola, tipo amore e vorrei ottenere la conversione di tutte 
> >le lettere che compongono la parola, che esempio mi proponi(ete)?
> 
> echo wordwrap(
>     implode(' ',
>         array_map(
>             function($pad_str) {
>                  return str_pad($pad_str, 8, 0, STR_PAD_LEFT);
>             },
>             array_map(
>                 'decbin',
>                 array_map(
>                    'ord',
>                    preg_split('##', 'AMORE', -1, PREG_SPLIT_NO_EMPTY)
>                 )
>             )
>         )
>     )
> );
> 
> Leonardo
> -- 
> 
> A terrible beauty is born.
>                                      - W. B. Yeats, Easter 1916

Con meno array_map ma il concetto è quello.

echo implode(
	array_map(
		function($a){return str_pad(decbin(ord($a)), 8, 0, STR_PAD_LEFT) . ' ';},str_split('AMORE')
	)
);

[toc] | [prev] | [next] | [standalone]


#20848

FromTrego <NOSP@AM.it>
Date2016-05-25 15:38 +0200
Message-ID<ni49t2$18vf$1@gioia.aioe.org>
In reply to#20843
> Con meno array_map ma il concetto è quello.
>
> echo implode(
> 	array_map(
> 		function($a){return str_pad(decbin(ord($a)), 8, 0, STR_PAD_LEFT) . ' ';},str_split('AMORE')
> 	)
> );

Grazie anche a te, pure questa funziona :)
E se ad esempio partendo dal codice binario: 01000001 01001101 01001111 
01010010 01000101 volessi riottenere la parola AMORE che esempio mi 
proponete?

[toc] | [prev] | [next] | [standalone]


#20853

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-05-25 15:06 +0100
Message-ID<dqlpqaF1p1sU1@mid.individual.net>
In reply to#20848
On 25/05/2016 14:38, Trego wrote:

> E se ad esempio partendo dal codice binario: 01000001 01001101 01001111
> 01010010 01000101 volessi riottenere la parola AMORE che esempio mi
> proponete?

Ho il tarlo che mi bruca la corteccia cerebrale: non è che ci stai 
chiedendo di fare i compiti a casa per te?

La richiesta è abbastanza inusuale...

Bye.

[toc] | [prev] | [next] | [standalone]


#20855

FromTrego <NOSP@AM.it>
Date2016-05-25 16:23 +0200
Message-ID<ni4cgf$1de9$1@gioia.aioe.org>
In reply to#20853
> Ho il tarlo che mi bruca la corteccia cerebrale: non è che ci stai
> chiedendo di fare i compiti a casa per te?
>
> La richiesta è abbastanza inusuale...
>
> Bye.

:)
Vorrei realizzare un convertitore da testo normale a codice binario e 
viceversa, tutto qua :)


[toc] | [prev] | [next] | [standalone]


#20862

FromLeonardo Serni <lserni@gmail.com>
Date2016-05-25 22:17 +0200
Message-ID<sl1ckbhgp0kmuq830uoqculqhmdm8asjsn@L.Serni>
In reply to#20848
On Wed, 25 May 2016 15:38:42 +0200, Trego <NOSP@AM.it> wrote:

>> Con meno array_map ma il concetto è quello.
>>
>> echo implode(
>> 	array_map(
>> 		function($a){return str_pad(decbin(ord($a)), 8, 0, STR_PAD_LEFT) . ' ';},str_split('AMORE')
>> 	)
>> );
>
>Grazie anche a te, pure questa funziona :)
>E se ad esempio partendo dal codice binario: 01000001 01001101 01001111 
>01010010 01000101 volessi riottenere la parola AMORE che esempio mi 
>proponete?

$string = "01000001 01001101 01001111 >01010010 01000101 ";

print preg_replace_callback('#([01]{8})[^01]*#ms',function($O){return chr(bindec($O[1]));}, $string);

Leonardo
-- 

A terrible beauty is born.
                                     - W. B. Yeats, Easter 1916

[toc] | [prev] | [next] | [standalone]


#20863

FromTrego <NOSP@AM.it>
Date2016-05-26 11:24 +0200
Message-ID<ni6fbu$8rt$1@gioia.aioe.org>
In reply to#20862
> $string = "01000001 01001101 01001111 >01010010 01000101 ";
> print preg_replace_callback('#([01]{8})[^01]*#ms',function($O){return chr(bindec($O[1]));}, $string);
> Leonardo

Funziona, grazie :)
Presenta un problema con le lettere accentate, ma correggimi se sbaglio, 
potrei ovviare a ciò usando: header(Content-Type: text/html; charset=utf-8).
Oppure non occorrerebbe, con qualche modifica, usando appunto 
header(Content-Type: text/html; charset=utf-8)....



[toc] | [prev] | [next] | [standalone]


#20865

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-05-26 12:10 +0100
Message-ID<dqo3tiFfqt2U1@mid.individual.net>
In reply to#20863
On 26/05/2016 10:24, Trego wrote:

> Presenta un problema con le lettere accentate, ma correggimi se sbaglio,
> potrei ovviare a ciò usando: header(Content-Type: text/html;
> charset=utf-8).

Funziona solo coi caratteri ASCII. Le accentate non sono ASCII.

Se vuoi rappresentare le accentate (e molti altri caratteri) devi 
studiarti bene come funzionano i charset, in particolare UTF-8, che è a 
lunghezza variabile.

Il che significa che le accentate saranno rappresentate da due byte 
invece che da uno, mentre i kanji, gli hanzi e il klingon da 3 byte, per 
esempio.

Buon divertimento. :)

Bye.

[toc] | [prev] | [next] | [standalone]


#20849

FromTrego <NOSP@AM.it>
Date2016-05-25 15:39 +0200
Message-ID<ni49tp$18vf$2@gioia.aioe.org>
In reply to#20841
> echo wordwrap(
>     implode(' ',
>         array_map(
>             function($pad_str) {
>                  return str_pad($pad_str, 8, 0, STR_PAD_LEFT);
>             },
>             array_map(
>                 'decbin',
>                 array_map(
>                    'ord',
>                    preg_split('##', 'AMORE', -1, PREG_SPLIT_NO_EMPTY)
>                 )
>             )
>         )
>     )
> );
>
> Leonardo

Grazie, funziona alla perfezione.





[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web