Ruby/Array/pack
Материал из Wiki.crossplatform.ru
Array Pack Directives
Directive Description @ Moves to absolute position A ASCII string (space padded; count is width) a ASCII string (null padded; count is width) B Bit string (descending bit order) b Bit string (ascending bit order) C Unsigned char c Char D, d Double-precision float, native format E Double-precision float, little-endian byte order e Single-precision float, little-endian byte order F, f Single-precision float, native format G Double-precision float, network (big-endian) byte order g Single-precision float, network (big-endian) byte order H Hex string (high nibble first) h Hex string (low nibble first) I Unsigned integer i Integer L Unsigned long l Long M Quoted-printable, MIME encoding (see RFC 2045) m Base64-encoded string N Long, network (big-endian) byte order n Short, network (big-endian) byte order P Pointer to a structure (fixed-length string) p Pointer to a null-terminated string Q, q 64-bit number S Unsigned short s Short U UTF-8 u UU-encoded string V Long, little-endian byte order v Short, little-endian byte order w BER-compressed integer\fnm X Backs up a byte x Null byte Z Same as a, except that null is added with *
Binary conversion with pack. See also String.unpack.
[1,2,3,4].pack("CCCC") # => "\001\002\003\004" [1,2].pack("s2") # => "\001\000\002\000" [1234].pack("i") # => "\322\004\000\000"