[Rio-pm] Definindo tamanho em bytes

breno breno em rio.pm.org
Terça Março 20 18:34:31 PDT 2012


Aureliano,

ainda não entendi bem o que vc quer, mas pelo pouco que entendi acho
que as soluções do Leo (-s no arquivo) e do Stan (pack) são talvez as
mais adequadas.

Quando for lidar com tamanhos em bytes, lembre-se de que diferentes
encodings ocupam diferentes tamanhos. ASCII por exemplo assume 1
caractere == 1 byte de 8 bits (octeto), enquanto utf8 tem tamanho
variável entre 1 e 4 octetos.

O Andre mencionou a função length(), que também pode te ajudar. Vale
notar porém que ela conta o número de caracteres, não de bytes. Se
quiser saber o tamanho que uma string ocupa em bytes, dado que vc sabe
o encoding da string:

----------->8-----------
use Encode;

my $tamanho = length Encode::encode("utf8", $string);
-----------8<-----------

Onde "utf8" pode ser substituído pelo encoding em questão.

[]s

-b

On Tue, Mar 20, 2012 at 7:19 PM, Aureliano Guedes
<guedes_1000 em hotmail.com> wrote:
> Bem, um dos problemas eu resolvi de forma abirtraria,
>
> my $str = 'a' x 8;
>
> se 'a' tem 1 byte e eu quero 8 isso resolve,
> mas ficou bem POG na minha opinião
>
> ________________________________
> From: leonardo.balter em gmail.com
> Date: Tue, 20 Mar 2012 18:26:41 -0300
> To: rio-pm em pm.org
> Subject: Re: [Rio-pm] Definindo tamanho em bytes
>
>
> Aureliano,
>
> Acho que você não se expressou muito bem.
>
> Seu problema não parece ter haver com o tamanho da string, mas sim com o
> tamanho do arquivo.
>
> Pra identificar o tamanho do arquivo em Perl:
>
> my $tamanho_em_bytes = -s "/caminho/para/arquivo";
>
> Pode procurar mais em
>
> perldoc -f -X
>
> []s
>
> 2012/3/20 Aureliano Guedes <guedes_1000 em hotmail.com>
>
> Boa tarde monges,
>
> Alguem teria uma ideia pra me ajudar a limitar o tamanho de uma string.
>
> Exemplo, essa string ou mesmo array vai amarzenar determinador arquivo de
> texto, contudo eu não quero que guarde esse arquivo se
> ele tiver mais de que 30kb, por exemplo.
>
> Ou intão, eu envio pacotes para um determinado IP, e quero decidir o tamanho
> de cada pacote.
>
> Ansiosamente aguardando resposta,
>
> Aureliano Guedes
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> _______________________________________________ Rio-pm mailing list
> Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm


Mais detalhes sobre a lista de discussão Rio-pm