Linux server1.dn-server.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
LiteSpeed
Server IP : 195.201.204.189 & Your IP : 216.73.216.198
Domains :
Cant Read [ /etc/named.conf ]
User : beriska1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby32 /
share /
ri /
system /
Delete
Unzip
Name
Size
Permission
Date
Action
ACL
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ARGF
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Abbrev
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Addrinfo
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ArgumentError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Array
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Base64
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
BasicObject
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
BasicSocket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Benchmark
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
BigDecimal
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
BigMath
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Binding
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Bundler
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
CGI
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
CSV
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Class
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ClosedQueueError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Comparable
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Complex
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Continuation
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
CoreExtensions
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Coverage
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
DRb
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Data
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Date
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
DateTime
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Delegator
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
DidYouMean
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Digest
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Dir
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ENV
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
EOFError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ERB
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Encoding
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
EncodingError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
English
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Enumerable
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Enumerator
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Errno
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ErrorHighlight
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Etc
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Exception
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
FalseClass
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Fcntl
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Fiber
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
FiberError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Fiddle
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
File
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
FileTest
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
FileUtils
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Find
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Float
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
FloatDomainError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Forwardable
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
FrozenError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
GC
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Gem
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
GetoptLong
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Hash
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
IO
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
IOError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
IPAddr
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
IPSocket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
IRB
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
IndexError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Integer
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Interrupt
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
JSON
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Jacobian
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Kconv
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Kernel
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
KeyError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
LUSolve
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
LoadError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
LocalJumpError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Logger
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
MakeMakefile
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Marshal
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
MatchData
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Math
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Method
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Module
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Monitor
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
MonitorMixin
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Mutex_m
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NEWS
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NKF
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NameError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Net
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Newton
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NilClass
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NoMatchingPatternError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NoMatchingPatternKeyError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NoMemoryError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NoMethodError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
NotImplementedError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Numeric
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
OLEProperty
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Object
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ObjectSpace
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Observable
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Open3
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
OpenSSL
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
OpenStruct
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
OpenURI
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
OptionParser
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
PP
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
PStore
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
PTY
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Pathname
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
PrettyPrint
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Proc
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Process
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Psych
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RDoc
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Racc
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Ractor
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Rake
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Random
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Range
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RangeError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Rational
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RbConfig
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Readline
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Refinement
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Regexp
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RegexpError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Reline
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Resolv
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Rinda
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Ripper
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RubyLex
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RubyVM
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
RuntimeError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SOCKSSocket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ScriptError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SecureRandom
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SecurityError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Set
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Shellwords
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Signal
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SignalException
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SimpleDelegator
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SingleForwardable
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Singleton
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Socket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SocketError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
StandardError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
StopIteration
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
String
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
StringIO
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
StringScanner
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Struct
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Symbol
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SyntaxError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SyntaxSuggest
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Syslog
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SystemCallError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SystemExit
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
SystemStackError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
TCPServer
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
TCPSocket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
TSort
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Tempfile
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Thread
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ThreadError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ThreadGroup
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Time
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Timeout
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
TracePoint
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
TrueClass
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
TypeError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
UDPSocket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
UNIXServer
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
UNIXSocket
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
URI
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
UnboundMethod
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
UncaughtThrowError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
UnicodeNormalize
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
WIN32OLE
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
WIN32OLEQueryInterfaceError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
WIN32OLERuntimeError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Warning
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
WeakRef
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Win32
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
XMP
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
YAML
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
ZeroDivisionError
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
Zlib
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
contributing
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
fatal
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
optparse
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
syntax
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
win32
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
yjit
[ DIR ]
drwxr-xr-x
2026-05-05 23:08
cache.ri
307.54
KB
-rw-r--r--
2026-04-07 17:42
page-COPYING.ri
3.06
KB
-rw-r--r--
2026-04-07 17:42
page-COPYING_ja.ri
3.16
KB
-rw-r--r--
2026-04-07 17:42
page-LEGAL.ri
50.64
KB
-rw-r--r--
2026-04-07 17:42
page-NEWS_md.ri
36.04
KB
-rw-r--r--
2026-04-07 17:42
page-README_ja_md.ri
10.87
KB
-rw-r--r--
2026-04-07 17:42
page-README_md.ri
4.29
KB
-rw-r--r--
2026-04-07 17:42
page-bsearch_rdoc.ri
5.51
KB
-rw-r--r--
2026-04-07 17:42
page-bug_triaging_rdoc.ri
4.83
KB
-rw-r--r--
2026-04-07 17:42
page-case_mapping_rdoc.ri
4.56
KB
-rw-r--r--
2026-04-07 17:42
page-character_selectors_rdoc.ri
4.59
KB
-rw-r--r--
2026-04-07 17:42
page-command_injection_rdoc.ri
1.45
KB
-rw-r--r--
2026-04-07 17:42
page-contributing_md.ri
1.43
KB
-rw-r--r--
2026-04-07 17:42
page-dig_methods_rdoc.ri
3.66
KB
-rw-r--r--
2026-04-07 17:42
page-dtrace_probes_rdoc.ri
9.92
KB
-rw-r--r--
2026-04-07 17:42
page-encodings_rdoc.ri
20.65
KB
-rw-r--r--
2026-04-07 17:42
page-extension_ja_rdoc.ri
86.74
KB
-rw-r--r--
2026-04-07 17:42
page-extension_rdoc.ri
88.83
KB
-rw-r--r--
2026-04-07 17:42
page-fiber_md.ri
7.55
KB
-rw-r--r--
2026-04-07 17:42
page-format_specifications_rdoc.ri
12.87
KB
-rw-r--r--
2026-04-07 17:42
page-globals_rdoc.ri
5.82
KB
-rw-r--r--
2026-04-07 17:42
page-implicit_conversion_rdoc.ri
7.79
KB
-rw-r--r--
2026-04-07 17:42
page-keywords_rdoc.ri
6.29
KB
-rw-r--r--
2026-04-07 17:42
page-maintainers_rdoc.ri
15.54
KB
-rw-r--r--
2026-04-07 17:42
page-marshal_rdoc.ri
14.17
KB
-rw-r--r--
2026-04-07 17:42
page-memory_view_md.ri
8.85
KB
-rw-r--r--
2026-04-07 17:42
page-packed_data_rdoc.ri
22.57
KB
-rw-r--r--
2026-04-07 17:42
page-ractor_md.ri
31.63
KB
-rw-r--r--
2026-04-07 17:42
page-regexp_rdoc.ri
38.79
KB
-rw-r--r--
2026-04-07 17:42
page-security_rdoc.ri
7.09
KB
-rw-r--r--
2026-04-07 17:42
page-signals_rdoc.ri
4.96
KB
-rw-r--r--
2026-04-07 17:42
page-standard_library_rdoc.ri
9.15
KB
-rw-r--r--
2026-04-07 17:42
page-strftime_formatting_rdoc.ri
20.92
KB
-rw-r--r--
2026-04-07 17:42
page-syntax_rdoc.ri
1.88
KB
-rw-r--r--
2026-04-07 17:42
page-timezones_rdoc.ri
5.14
KB
-rw-r--r--
2026-04-07 17:42
Save
Rename
U:RDoc::TopLevel[ i I"packed_data.rdoc:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[oS:RDoc::Markup::Heading: leveli: textI"Packed \Data;To:RDoc::Markup::BlankLine o:RDoc::Markup::Paragraph;[I"DCertain Ruby core methods deal with packing and unpacking data:;T@ o:RDoc::Markup::List: @type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o; ;[I"\Method Array#pack: ;TI"@Formats each element in array +self+ into a binary string; ;TI"returns that string.;To;;0;[o; ;[ I"\Method String#unpack: ;TI"'Extracts data from string +self+, ;TI">forming objects that become the elements of a new array; ;TI"returns that array.;To;;0;[o; ;[I"\Method String#unpack1: ;TI"LDoes the same, but unpacks and returns only the first extracted object.;T@ o; ;[I"8Each of these methods accepts a string +template+, ;TI"8consisting of zero or more _directive_ characters, ;TI"9each followed by zero or more _modifier_ characters.;T@ o; ;[I"FExamples (directive <tt>'C'</tt> specifies 'unsigned character'):;T@ o:RDoc::Markup::Verbatim;[I"A[65].pack('C') # => "A" # One element, one directive. ;TI"C[65, 66].pack('CC') # => "AB" # Two elements, two directives. ;TI"?[65, 66].pack('C') # => "A" # Extra element is ignored. ;TI"4[65].pack('') # => "" # No directives. ;TI"K[65].pack('CC') # Extra directive raises ArgumentError. ;TI" ;TI"F'A'.unpack('C') # => [65] # One character, one directive. ;TI"H'AB'.unpack('CC') # => [65, 66] # Two characters, two directives. ;TI"D'AB'.unpack('C') # => [65] # Extra character is ignored. ;TI"G'A'.unpack('CC') # => [65, nil] # Extra directive generates nil. ;TI"7'AB'.unpack('') # => [] # No directives. ;T:@format0o; ;[I"GThe string +template+ may contain any mixture of valid directives ;TI";(directive <tt>'c'</tt> specifies 'signed character'):;T@ o;;[I"'[65, -1].pack('cC') # => "A\xFF" ;TI")"A\xFF".unpack('cC') # => [65, 255] ;T;0o; ;[I"EThe string +template+ may contain whitespace (which is ignored) ;TI"Dand comments, each of which begins with character <tt>'#'</tt> ;TI"Band continues up to and including the next following newline:;T@ o;;[I"8[0,1].pack(" C #foo \n C ") # => "\x00\x01" ;TI"4"\0\1".unpack(" C #foo \n C ") # => [0, 1] ;T;0o; ;[I"@Any directive may be followed by either of these modifiers:;T@ o;;;;[o;;0;[o; ;[I"K<tt>'*'</tt> - The directive is to be applied as many times as needed:;T@ o;;[I"#[65, 66].pack('C*') # => "AB" ;TI"''AB'.unpack('C*') # => [65, 66] ;T;0o;;0;[ o; ;[I"DInteger +count+ - The directive is to be applied +count+ times:;T@ o;;[ I"#[65, 66].pack('C2') # => "AB" ;TI"1[65, 66].pack('C3') # Raises ArgumentError. ;TI"''AB'.unpack('C2') # => [65, 66] ;TI",'AB'.unpack('C3') # => [65, 66, nil] ;T;0o; ;[I"GNote: Directives in <tt>%w[A a Z m]</tt> use +count+ differently; ;TI"Jsee {String Directives}[rdoc-ref:packed_data.rdoc@String+Directives].;T@ o; ;[I"[If elements don't fit the provided directive, only least significant bits are encoded:;T@ o;;[I"*[257].pack("C").unpack("C") # => [1] ;T;0S; ; i;I"Packing \Method;T@ o; ;[I":\Method Array#pack accepts optional keyword argument ;TI"I+buffer+ that specifies the target string (instead of a new string):;T@ o;;[I"5[65, 66].pack('C*', buffer: 'foo') # => "fooAB" ;T;0o; ;[I"#The method can accept a block:;T@ o;;[I"-# Packed string is passed to the block. ;TI"1[65, 66].pack('C*') {|s| p s } # => "AB" ;T;0S; ; i;I"Unpacking Methods;T@ o; ;[I":Methods String#unpack and String#unpack1 each accept ;TI"Dan optional keyword argument +offset+ that specifies an offset ;TI"into the string:;T@ o;;[I"2'ABC'.unpack('C*', offset: 1) # => [66, 67] ;TI",'ABC'.unpack1('C*', offset: 1) # => 66 ;T;0o; ;[I"%Both methods can accept a block:;T@ o;;[I"4# Each unpacked object is passed to the block. ;TI"ret = [] ;TI")"ABCD".unpack("C*") {|c| ret << c } ;TI"ret # => [65, 66, 67, 68] ;TI" ;TI":# The single unpacked object is passed to the block. ;TI"/'AB'.unpack1('C*') {|ele| p ele } # => 65 ;T;0S; ; i;I"\Integer Directives;T@ o; ;[I"?Each integer directive specifies the packing or unpacking ;TI"2for one element in the input or output array.;T@ S; ; i ;I"8-Bit \Integer Directives;T@ o;;;;[o;;0;[o; ;[I")<tt>'c'</tt> - 8-bit signed integer ;TI"#(like C <tt>signed char</tt>):;T@ o;;[I"1[0, 1, 255].pack('c*') # => "\x00\x01\xFF" ;TI"3s = [0, 1, -1].pack('c*') # => "\x00\x01\xFF" ;TI"$s.unpack('c*') # => [0, 1, -1] ;T;0o;;0;[o; ;[I")<tt>'C'</tt> - 8-bit signed integer ;TI"%(like C <tt>unsigned char</tt>):;T@ o;;[I"3[0, 1, 255].pack('C*') # => "\x00\x01\xFF" ;TI"3s = [0, 1, -1].pack('C*') # => "\x00\x01\xFF" ;TI"0s.unpack('C*') # => [0, 1, 255] ;T;0S; ; i ;I"16-Bit \Integer Directives;T@ o;;;;[ o;;0;[o; ;[I"9<tt>'s'</tt> - 16-bit signed integer, native-endian ;TI"(like C <tt>int16_t</tt>):;T@ o;;[I"9[513, -514].pack('s*') # => "\x01\x02\xFE\xFD" ;TI"9s = [513, 65022].pack('s*') # => "\x01\x02\xFE\xFD" ;TI"2s.unpack('s*') # => [513, -514] ;T;0o;;0;[o; ;[I";<tt>'S'</tt> - 16-bit unsigned integer, native-endian ;TI" (like C <tt>uint16_t</tt>):;T@ o;;[I"9[513, -514].pack('S*') # => "\x01\x02\xFE\xFD" ;TI"9s = [513, 65022].pack('S*') # => "\x01\x02\xFE\xFD" ;TI"3s.unpack('S*') # => [513, 65022] ;T;0o;;0;[o; ;[I"7<tt>'n'</tt> - 16-bit network integer, big-endian:;T@ o;;[ I"5s = [0, 1, -1, 32767, -32768, 65535].pack('n*') ;TI"=# => "\x00\x00\x00\x01\xFF\xFF\x7F\xFF\x80\x00\xFF\xFF" ;TI"s.unpack('n*') ;TI"-# => [0, 1, 65535, 32767, 32768, 65535] ;T;0o;;0;[o; ;[I"6<tt>'v'</tt> - 16-bit VAX integer, little-endian:;T@ o;;[ I"5s = [0, 1, -1, 32767, -32768, 65535].pack('v*') ;TI"=# => "\x00\x00\x01\x00\xFF\xFF\xFF\x7F\x00\x80\xFF\xFF" ;TI"s.unpack('v*') ;TI"-# => [0, 1, 65535, 32767, 32768, 65535] ;T;0S; ; i ;I"32-Bit \Integer Directives;T@ o;;;;[ o;;0;[o; ;[I"9<tt>'l'</tt> - 32-bit signed integer, native-endian ;TI"(like C <tt>int32_t</tt>):;T@ o;;[ I"*s = [67305985, -50462977].pack('l*') ;TI"-# => "\x01\x02\x03\x04\xFF\xFE\xFD\xFC" ;TI"s.unpack('l*') ;TI" # => [67305985, -50462977] ;T;0o;;0;[o; ;[I";<tt>'L'</tt> - 32-bit unsigned integer, native-endian ;TI" (like C <tt>uint32_t</tt>):;T@ o;;[ I"+s = [67305985, 4244504319].pack('L*') ;TI"-# => "\x01\x02\x03\x04\xFF\xFE\xFD\xFC" ;TI"s.unpack('L*') ;TI"!# => [67305985, 4244504319] ;T;0o;;0;[o; ;[I"7<tt>'N'</tt> - 32-bit network integer, big-endian:;T@ o;;[ I"s = [0,1,-1].pack('N*') ;TI"=# => "\x00\x00\x00\x00\x00\x00\x00\x01\xFF\xFF\xFF\xFF" ;TI"s.unpack('N*') ;TI"# => [0, 1, 4294967295] ;T;0o;;0;[o; ;[I"6<tt>'V'</tt> - 32-bit VAX integer, little-endian:;T@ o;;[ I"s = [0,1,-1].pack('V*') ;TI"=# => "\x00\x00\x00\x00\x01\x00\x00\x00\xFF\xFF\xFF\xFF" ;TI"s.unpack('v*') ;TI"%# => [0, 0, 1, 0, 65535, 65535] ;T;0S; ; i ;I"64-Bit \Integer Directives;T@ o;;;;[o;;0;[o; ;[I"9<tt>'q'</tt> - 64-bit signed integer, native-endian ;TI"(like C <tt>int64_t</tt>):;T@ o;;[ I">s = [578437695752307201, -506097522914230529].pack('q*') ;TI"I# => "\x01\x02\x03\x04\x05\x06\a\b\xFF\xFE\xFD\xFC\xFB\xFA\xF9\xF8" ;TI"s.unpack('q*') ;TI"4# => [578437695752307201, -506097522914230529] ;T;0o;;0;[o; ;[I";<tt>'Q'</tt> - 64-bit unsigned integer, native-endian ;TI" (like C <tt>uint64_t</tt>):;T@ o;;[ I"?s = [578437695752307201, 17940646550795321087].pack('Q*') ;TI"I# => "\x01\x02\x03\x04\x05\x06\a\b\xFF\xFE\xFD\xFC\xFB\xFA\xF9\xF8" ;TI"s.unpack('Q*') ;TI"5# => [578437695752307201, 17940646550795321087] ;T;0S; ; i ;I"+Platform-Dependent \Integer Directives;T@ o;;;;[o;;0;[o; ;[I"=<tt>'i'</tt> - Platform-dependent width signed integer, ;TI")native-endian (like C <tt>int</tt>):;T@ o;;[ I"*s = [67305985, -50462977].pack('i*') ;TI"-# => "\x01\x02\x03\x04\xFF\xFE\xFD\xFC" ;TI"s.unpack('i*') ;TI" # => [67305985, -50462977] ;T;0o;;0;[o; ;[I"?<tt>'I'</tt> - Platform-dependent width unsigned integer, ;TI"2native-endian (like C <tt>unsigned int</tt>):;T@ o;;[ I"*s = [67305985, -50462977].pack('I*') ;TI"-# => "\x01\x02\x03\x04\xFF\xFE\xFD\xFC" ;TI"s.unpack('I*') ;TI"!# => [67305985, 4244504319] ;T;0S; ; i ;I"Pointer Directives;T@ o;;;;[o;;0;[o; ;[I"9<tt>'j'</tt> - 64-bit pointer-width signed integer, ;TI".native-endian (like C <tt>intptr_t</tt>):;T@ o;;[ I"*s = [67305985, -50462977].pack('j*') ;TI"M# => "\x01\x02\x03\x04\x00\x00\x00\x00\xFF\xFE\xFD\xFC\xFF\xFF\xFF\xFF" ;TI"s.unpack('j*') ;TI" # => [67305985, -50462977] ;T;0o;;0;[o; ;[I";<tt>'j'</tt> - 64-bit pointer-width unsigned integer, ;TI"/native-endian (like C <tt>uintptr_t</tt>):;T@ o;;[ I"+s = [67305985, 4244504319].pack('J*') ;TI"M# => "\x01\x02\x03\x04\x00\x00\x00\x00\xFF\xFE\xFD\xFC\x00\x00\x00\x00" ;TI"s.unpack('J*') ;TI"!# => [67305985, 4244504319] ;T;0S; ; i ;I"Other \Integer Directives;To; ;[I":;To;;;;[o;;0;[o; ;[I"$<tt>'U'</tt> - UTF-8 character:;T@ o;;[ I"s = [4194304].pack('U*') ;TI"!# => "\xF8\x90\x80\x80\x80" ;TI"s.unpack('U*') ;TI"# => [4194304] ;T;0o;;0;[o; ;[I"(<tt>'w'</tt> - BER-encoded integer ;TI"L(see {BER enocding}[https://en.wikipedia.org/wiki/X.690#BER_encoding]):;T@ o;;[ I"!s = [1073741823].pack('w*') ;TI"!# => "\x83\xFF\xFF\xFF\x7F" ;TI"s.unpack('w*') ;TI"# => [1073741823] ;T;0S; ; i ;I"&Modifiers for \Integer Directives;T@ o; ;[I"For directives in ;TI"<tt>'i'</tt>, ;TI"<tt>'I'</tt>, ;TI"<tt>'s'</tt>, ;TI"<tt>'S'</tt>, ;TI"<tt>'l'</tt>, ;TI"<tt>'L'</tt>, ;TI"<tt>'q'</tt>, ;TI"<tt>'Q'</tt>, ;TI"<tt>'j'</tt>, and ;TI"<tt>'J'</tt>, ;TI"%these modifiers may be suffixed:;T@ o;;;;[o;;0;[o; ;[I"H<tt>'!'</tt> or <tt>'_'</tt> - Underlying platform’s native size.;To;;0;[o; ;[I"<tt>'>'</tt> - Big-endian.;To;;0;[o; ;[I""<tt>'<'</tt> - Little-endian.;T@ S; ; i;I"\Float Directives;T@ o; ;[I"=Each float directive specifies the packing or unpacking ;TI"2for one element in the input or output array.;T@ S; ; i ;I"'Single-Precision \Float Directives;T@ o;;;;[o;;0;[o; ;[I"2<tt>'F'</tt> or <tt>'f'</tt> - Native format:;T@ o;;[I"+s = [3.0].pack('F') # => "\x00\x00@@" ;TI"$s.unpack('F') # => [3.0] ;T;0o;;0;[o; ;[I""<tt>'e'</tt> - Little-endian:;T@ o;;[I"+s = [3.0].pack('e') # => "\x00\x00@@" ;TI"$s.unpack('e') # => [3.0] ;T;0o;;0;[o; ;[I"<tt>'g'</tt> - Big-endian:;T@ o;;[I"+s = [3.0].pack('g') # => "@@\x00\x00" ;TI"$s.unpack('g') # => [3.0] ;T;0S; ; i ;I"'Double-Precision \Float Directives;T@ o;;;;[o;;0;[o; ;[I"2<tt>'D'</tt> or <tt>'d'</tt> - Native format:;T@ o;;[I"<s = [3.0].pack('D') # => "\x00\x00\x00\x00\x00\x00\b@" ;TI"$s.unpack('D') # => [3.0] ;T;0o;;0;[o; ;[I""<tt>'E'</tt> - Little-endian:;T@ o;;[I"<s = [3.0].pack('E') # => "\x00\x00\x00\x00\x00\x00\b@" ;TI"$s.unpack('E') # => [3.0] ;T;0o;;0;[o; ;[I"<tt>'G'</tt> - Big-endian:;T@ o;;[I"<s = [3.0].pack('G') # => "@\b\x00\x00\x00\x00\x00\x00" ;TI"$s.unpack('G') # => [3.0] ;T;0o; ;[I"7A float directive may be infinity or not-a-number:;T@ o;;[I"2inf = 1.0/0.0 # => Infinity ;TI"<[inf].pack('f') # => "\x00\x00\x80\x7F" ;TI"4"\x00\x00\x80\x7F".unpack('f') # => [Infinity] ;TI" ;TI"-nan = inf/inf # => NaN ;TI"<[nan].pack('f') # => "\x00\x00\xC0\x7F" ;TI"/"\x00\x00\xC0\x7F".unpack('f') # => [NaN] ;T;0S; ; i;I"\String Directives;T@ o; ;[I">Each string directive specifies the packing or unpacking ;TI"0for one byte in the input or output string.;T@ S; ; i ;I"Binary \String Directives;T@ o;;;;[o;;0;[o; ;[I"L<tt>'A'</tt> - Arbitrary binary string (space padded; count is width); ;TI"*+nil+ is treated as the empty string:;T@ o;;[I"#['foo'].pack('A') # => "f" ;TI"%['foo'].pack('A*') # => "foo" ;TI"$['foo'].pack('A2') # => "fo" ;TI"&['foo'].pack('A4') # => "foo " ;TI"#[nil].pack('A') # => " " ;TI""[nil].pack('A*') # => "" ;TI"$[nil].pack('A2') # => " " ;TI"&[nil].pack('A4') # => " " ;TI" ;TI")"foo\0".unpack('A') # => ["f"] ;TI"+"foo\0".unpack('A4') # => ["foo"] ;TI"E"foo\0bar".unpack('A10') # => ["foo\x00bar"] # Reads past "\0". ;TI")"foo ".unpack('A') # => ["f"] ;TI"+"foo ".unpack('A4') # => ["foo"] ;TI"+"foo".unpack('A4') # => ["foo"] ;TI" ;TI"5russian = "\u{442 435 441 442}" # => "тест" ;TI"!russian.size # => 4 ;TI"!russian.bytesize # => 8 ;TI"&[russian].pack('A') # => "\xD1" ;TI"B[russian].pack('A*') # => "\xD1\x82\xD0\xB5\xD1\x81\xD1\x82" ;TI"(russian.unpack('A') # => ["\xD1"] ;TI",russian.unpack('A2') # => ["\xD1\x82"] ;TI"4russian.unpack('A4') # => ["\xD1\x82\xD0\xB5"] ;TI"Drussian.unpack('A*') # => ["\xD1\x82\xD0\xB5\xD1\x81\xD1\x82"] ;T;0o;;0;[o; ;[I"J<tt>'a'</tt> - Arbitrary binary string (null padded; count is width):;T@ o;;[I"#["foo"].pack('a') # => "f" ;TI"%["foo"].pack('a*') # => "foo" ;TI"$["foo"].pack('a2') # => "fo" ;TI")["foo\0"].pack('a4') # => "foo\x00" ;TI"&[nil].pack('a') # => "\x00" ;TI""[nil].pack('a*') # => "" ;TI"*[nil].pack('a2') # => "\x00\x00" ;TI"2[nil].pack('a4') # => "\x00\x00\x00\x00" ;TI" ;TI"("foo\0".unpack('a') # => ["f"] ;TI"."foo\0".unpack('a4') # => ["foo\x00"] ;TI"+"foo ".unpack('a4') # => ["foo "] ;TI"*"foo".unpack('a4') # => ["foo"] ;TI"A"foo\0bar".unpack('a4') # => ["foo\x00"] # Reads past "\0". ;T;0o;;0;[o; ;[I"*<tt>'Z'</tt> - Same as <tt>'a'</tt>, ;TI"<except that null is added or ignored with <tt>'*'</tt>:;T@ o;;[I")["foo"].pack('Z*') # => "foo\x00" ;TI"&[nil].pack('Z*') # => "\x00" ;TI" ;TI"*"foo\0".unpack('Z*') # => ["foo"] ;TI"*"foo".unpack('Z*') # => ["foo"] ;TI"E"foo\0bar".unpack('Z*') # => ["foo"] # Does not read past "\0". ;T;0S; ; i ;I"Bit \String Directives;T@ o;;;;[o;;0;[o; ;[I"1<tt>'B'</tt> - Bit string (high byte first):;T@ o;;[I":['11111111' + '00000000'].pack('B*') # => "\xFF\x00" ;TI"7['10000000' + '01000000'].pack('B*') # => "\x80@" ;TI" ;TI"['1'].pack('B0') # => "" ;TI""['1'].pack('B1') # => "\x80" ;TI"&['1'].pack('B2') # => "\x80\x00" ;TI"&['1'].pack('B3') # => "\x80\x00" ;TI"*['1'].pack('B4') # => "\x80\x00\x00" ;TI"*['1'].pack('B5') # => "\x80\x00\x00" ;TI".['1'].pack('B6') # => "\x80\x00\x00\x00" ;TI" ;TI"7"\xff\x00".unpack("B*") # => ["1111111100000000"] ;TI"7"\x01\x02".unpack("B*") # => ["0000000100000010"] ;TI" ;TI"#"".unpack("B0") # => [""] ;TI"$"\x80".unpack("B1") # => ["1"] ;TI"%"\x80".unpack("B2") # => ["10"] ;TI"&"\x80".unpack("B3") # => ["100"] ;T;0o;;0;[o; ;[I"0<tt>'b'</tt> - Bit string (low byte first):;T@ o;;[I":['11111111' + '00000000'].pack('b*') # => "\xFF\x00" ;TI":['10000000' + '01000000'].pack('b*') # => "\x01\x02" ;TI" ;TI"['1'].pack('b0') # => "" ;TI""['1'].pack('b1') # => "\x01" ;TI"&['1'].pack('b2') # => "\x01\x00" ;TI"&['1'].pack('b3') # => "\x01\x00" ;TI"*['1'].pack('b4') # => "\x01\x00\x00" ;TI"*['1'].pack('b5') # => "\x01\x00\x00" ;TI".['1'].pack('b6') # => "\x01\x00\x00\x00" ;TI" ;TI"7"\xff\x00".unpack("b*") # => ["1111111100000000"] ;TI"7"\x01\x02".unpack("b*") # => ["1000000001000000"] ;TI" ;TI"#"".unpack("b0") # => [""] ;TI"$"\x01".unpack("b1") # => ["1"] ;TI"%"\x01".unpack("b2") # => ["10"] ;TI"&"\x01".unpack("b3") # => ["100"] ;T;0S; ; i ;I"Hex \String Directives;T@ o;;;;[o;;0;[o; ;[I"3<tt>'H'</tt> - Hex string (high nibble first):;T@ o;;[I",['10ef'].pack('H*') # => "\x10\xEF" ;TI"$['10ef'].pack('H0') # => "" ;TI",['10ef'].pack('H3') # => "\x10\xE0" ;TI"0['10ef'].pack('H5') # => "\x10\xEF\x00" ;TI" ;TI"+['fff'].pack('H3') # => "\xFF\xF0" ;TI"+['fff'].pack('H4') # => "\xFF\xF0" ;TI"/['fff'].pack('H5') # => "\xFF\xF0\x00" ;TI"/['fff'].pack('H6') # => "\xFF\xF0\x00" ;TI"3['fff'].pack('H7') # => "\xFF\xF0\x00\x00" ;TI"3['fff'].pack('H8') # => "\xFF\xF0\x00\x00" ;TI" ;TI"."\x10\xef".unpack('H*') # => ["10ef"] ;TI"*"\x10\xef".unpack('H0') # => [""] ;TI"+"\x10\xef".unpack('H1') # => ["1"] ;TI","\x10\xef".unpack('H2') # => ["10"] ;TI"-"\x10\xef".unpack('H3') # => ["10e"] ;TI"."\x10\xef".unpack('H4') # => ["10ef"] ;TI"."\x10\xef".unpack('H5') # => ["10ef"] ;T;0o;;0;[o; ;[I"2<tt>'h'</tt> - Hex string (low nibble first):;T@ o;;[I")['10ef'].pack('h*') # => "\x01\xFE" ;TI"!['10ef'].pack('h0') # => "" ;TI")['10ef'].pack('h3') # => "\x01\x0E" ;TI"-['10ef'].pack('h5') # => "\x01\xFE\x00" ;TI" ;TI"(['fff'].pack('h3') # => "\xFF\x0F" ;TI"(['fff'].pack('h4') # => "\xFF\x0F" ;TI",['fff'].pack('h5') # => "\xFF\x0F\x00" ;TI",['fff'].pack('h6') # => "\xFF\x0F\x00" ;TI"0['fff'].pack('h7') # => "\xFF\x0F\x00\x00" ;TI"0['fff'].pack('h8') # => "\xFF\x0F\x00\x00" ;TI" ;TI"+"\x01\xfe".unpack('h*') # => ["10ef"] ;TI"'"\x01\xfe".unpack('h0') # => [""] ;TI"("\x01\xfe".unpack('h1') # => ["1"] ;TI")"\x01\xfe".unpack('h2') # => ["10"] ;TI"*"\x01\xfe".unpack('h3') # => ["10e"] ;TI"+"\x01\xfe".unpack('h4') # => ["10ef"] ;TI"+"\x01\xfe".unpack('h5') # => ["10ef"] ;T;0S; ; i ;I"Pointer \String Directives;T@ o;;;;[o;;0;[o; ;[I"A<tt>'P'</tt> - Pointer to a structure (fixed-length string):;T@ o;;[ I"As = ['abc'].pack('P') # => "\xE0O\x7F\xE5\xA1\x01\x00\x00" ;TI")s.unpack('P*') # => ["abc"] ;TI"$".".unpack("P") # => [] ;TI"'("\0" * 8).unpack("P") # => [nil] ;TI"D[nil].pack("P") # => "\x00\x00\x00\x00\x00\x00\x00\x00" ;T;0o;;0;[o; ;[I"8<tt>'p'</tt> - Pointer to a null-terminated string:;T@ o;;[ I">s = ['abc'].pack('p') # => "(\xE4u\xE5\xA1\x01\x00\x00" ;TI")s.unpack('p*') # => ["abc"] ;TI"$".".unpack("p") # => [] ;TI"'("\0" * 8).unpack("p") # => [nil] ;TI"D[nil].pack("p") # => "\x00\x00\x00\x00\x00\x00\x00\x00" ;T;0S; ; i ;I"Other \String Directives;T@ o;;;;[o;;0;[o; ;[I"5<tt>'M'</tt> - Quoted printable, MIME encoding; ;TI"5text mode, but input must use LF and output LF; ;TI"<(see {RFC 2045}[https://www.ietf.org/rfc/rfc2045.txt]):;T@ o;;[I":["a b c\td \ne"].pack('M') # => "a b c\td =\n\ne=\n" ;TI".["\0"].pack('M') # => "=00=\n" ;TI" ;TI"D["a"*1023].pack('M') == ("a"*73+"=\n")*14+"a=\n" # => true ;TI"D("a"*73+"=\na=\n").unpack('M') == ["a"*74] # => true ;TI"D(("a"*73+"=\n")*14+"a=\n").unpack('M') == ["a"*1023] # => true ;TI" ;TI"?"a b c\td =\n\ne=\n".unpack('M') # => ["a b c\td \ne"] ;TI"+"=00=\n".unpack('M') # => ["\x00"] ;TI" ;TI":"pre=31=32=33after".unpack('M') # => ["pre123after"] ;TI"7"pre=\nafter".unpack('M') # => ["preafter"] ;TI"7"pre=\r\nafter".unpack('M') # => ["preafter"] ;TI"3"pre=".unpack('M') # => ["pre="] ;TI"5"pre=\r".unpack('M') # => ["pre=\r"] ;TI"7"pre=hoge".unpack('M') # => ["pre=hoge"] ;TI";"pre==31after".unpack('M') # => ["pre==31after"] ;TI"<"pre===31after".unpack('M') # => ["pre===31after"] ;T;0o;;0;[o; ;[ I"+<tt>'m'</tt> - Base64 encoded string; ;TI"7count specifies input bytes between each newline, ;TI",rounded down to nearest multiple of 3; ;TI".if count is zero, no newlines are added; ;TI"<(see {RFC 4648}[https://www.ietf.org/rfc/rfc4648.txt]):;T@ o;;[(I"([""].pack('m') # => "" ;TI".["\0"].pack('m') # => "AA==\n" ;TI".["\0\0"].pack('m') # => "AAA=\n" ;TI".["\0\0\0"].pack('m') # => "AAAA\n" ;TI".["\377"].pack('m') # => "/w==\n" ;TI".["\377\377"].pack('m') # => "//8=\n" ;TI".["\377\377\377"].pack('m') # => "////\n" ;TI" ;TI"$"".unpack('m') # => [""] ;TI"("AA==\n".unpack('m') # => ["\x00"] ;TI","AAA=\n".unpack('m') # => ["\x00\x00"] ;TI"0"AAAA\n".unpack('m') # => ["\x00\x00\x00"] ;TI"("/w==\n".unpack('m') # => ["\xFF"] ;TI","//8=\n".unpack('m') # => ["\xFF\xFF"] ;TI"0"////\n".unpack('m') # => ["\xFF\xFF\xFF"] ;TI"$"A\n".unpack('m') # => [""] ;TI"("AA\n".unpack('m') # => ["\x00"] ;TI"("AA=\n".unpack('m') # => ["\x00"] ;TI","AAA\n".unpack('m') # => ["\x00\x00"] ;TI" ;TI")[""].pack('m0') # => "" ;TI"-["\0"].pack('m0') # => "AA==" ;TI"-["\0\0"].pack('m0') # => "AAA=" ;TI"-["\0\0\0"].pack('m0') # => "AAAA" ;TI"-["\377"].pack('m0') # => "/w==" ;TI"-["\377\377"].pack('m0') # => "//8=" ;TI"-["\377\377\377"].pack('m0') # => "////" ;TI" ;TI"#"".unpack('m0') # => [""] ;TI"'"AA==".unpack('m0') # => ["\x00"] ;TI"+"AAA=".unpack('m0') # => ["\x00\x00"] ;TI"/"AAAA".unpack('m0') # => ["\x00\x00\x00"] ;TI"'"/w==".unpack('m0') # => ["\xFF"] ;TI"+"//8=".unpack('m0') # => ["\xFF\xFF"] ;TI"/"////".unpack('m0') # => ["\xFF\xFF\xFF"] ;T;0o;;0;[o; ;[I"&<tt>'u'</tt> - UU-encoded string:;T@ o;;[ I"*[0].pack("U") # => "\u0000" ;TI"<[0x3fffffff].pack("U") # => "\xFC\xBF\xBF\xBF\xBF\xBF" ;TI"<[0x40000000].pack("U") # => "\xFD\x80\x80\x80\x80\x80" ;TI"<[0x7fffffff].pack("U") # => "\xFD\xBF\xBF\xBF\xBF\xBF" ;T;0S; ; i;I"Offset Directives;T@ o;;;;[o;;0;[o; ;[I"<<tt>'@'</tt> - Begin packing at the given byte offset; ;TI")for packing, null fill if necessary:;T@ o;;[I"%[1, 2].pack("C@0C") # => "\x02" ;TI")[1, 2].pack("C@1C") # => "\x01\x02" ;TI"9[1, 2].pack("C@5C") # => "\x01\x00\x00\x00\x00\x02" ;TI" ;TI"3"\x01\x00\x00\x02".unpack("C@3C") # => [1, 2] ;TI"2"\x00".unpack("@1C") # => [nil] ;T;0o;;0;[o; ;[I"#<tt>'X'</tt> - Back up a byte:;T@ o;;[I"/[0, 1, 2].pack("CCXC") # => "\x00\x02" ;TI"+[0, 1, 2].pack("CCX2C") # => "\x02" ;TI"."\x00\x02".unpack("CCXC") # => [0, 2, 2] ;T;0S; ; i;I"Null Byte Direcive;T@ o;;;;[o;;0;[o; ;[I"<tt>'x'</tt> - Null byte:;T@ o;;[ I"*[].pack("x0") # => "" ;TI".[].pack("x") # => "\x00" ;TI"J[].pack("x8") # => "\x00\x00\x00\x00\x00\x00\x00\x00" ;TI"-"\x00\x00\x02".unpack("CxC") # => [0, 2];T;0: @file@:0@omit_headings_from_table_of_contents_below0