/ / Perl nieznany szablon rozpakowania - perl, unpack

Perl nieznany szablon rozpakowania - perl, rozpakuj

Ktoś może mi powiedzieć znaczenie w Perlu

unpack("@76b9", $buf);

(szczególnie "@76b9" część). Czy ta funkcja z zerem jako parametrem zwraca coś innego niż zero?

Odpowiedzi:

2 dla odpowiedzi № 1

@76 oznacza przejście do bajtu 76 w $buf.

b9 oznacza rozpakowanie 9-bitowego pola liczby całkowitej.

Widzieć perlpacktut do samouczka pack i unpack.


2 dla odpowiedzi nr 2
@76

@ Null-fill lub truncate do pozycji absolutnej, liczone od początku najgłębszej () grupy

b9

b Łańcuch bitowy (rosnąca kolejność bitów wewnątrz każdego bajtu, podobnie jak vec ()).

Przykład:

unpack("@76b9", (" "x76) . chr(4) . chr(1) )   ==>  001000001
--------|
|   |
04 in ascending order-----   |
|
LSB of 01 --------------------