An octet is a unit of digital information in computing and telecommunications that consists of eight bits. The term is often used when the term byte might be ambiguous, as historically there was no standard definition for the size of the byte. The usage of the old term octad(e) for 8 bits is no longer common today.
The unit byte is platform-dependent and has represented various storage sizes in the history of computing. However, due to the influence of several major computer architectures and product lines, the byte became overwhelmingly associated with 8 bits. This meaning of byte is codified in such standards as ISO/IEC 80000-13. While to most people today, byte and octet are synonymous, those working with certain legacy systems are careful to avoid ambiguity.
Representation of octets
Octets are often expressed and displayed using a variety of representations, for example in the hexadecimal, decimal, or octal number systems. The binary value of all 8 bits set (or turned on) is 11111111, equal to the hexadecimal value FF, the decimal value 255, and the octal value 377. One octet can be used to represent decimal values ranging from 0 to 255.
Octets in IPv4 and IPv6
An IPv4 address consist of four octets, usually shown individually as a series of decimal values ranging from 0 to 255, each separated by a full stop (dot). Using octets with all eight bits set, the representation of the highest numbered IPv4 address is 255.255.255.255.
An IPv6 address consist of sixteen octets, shown using hexadecimal representation (two digits per octet) and using a colon character (:) after each pair of octet for readability, like this FE80:0000:0000:0000:0123:4567:89AB:CDEF. If a pair or more consecutive octets equal zero it may be replaced by two following colon characters (::) but this can be used only once in a given IPv6 address to avoid ambiguity. The previously given IPv6 address can thus also be written as FE80::0123:4567:89AB:CDEF.
A variable-length sequence of octets, as in Abstract Syntax Notation One (ASN.1), is referred to as an octet string.
The international standard IEC 60027-2, chapter 3.8.2, says that a byte is an octet of bits.
The term octet is often used when the use of byte might be ambiguous. It is frequently used in the Request for Comments (RFC) publications of the Internet Engineering Task Force to describe storage sizes of network protocol parameters. The earliest example is RFC 635 from 1974.
In France, French Canada and Romania, octet is used in common language instead of byte when the 8-bit sense is required, for example, a megabyte (MB) is called a megaoctet (Mo).
Historically, the term octad (or octade) was used to specifically denote 8 bits as well at least in Western Europe; however, this usage is no longer common today. The exact origin of this term is unclear, but it can be found in British, Dutch and German sources of the 1960s and 1970s, and throughout the documentation of Philips mainframe computers.
|1 kibioctet (Kio)||= 210 octets||= 1024 octets|
|1 mebioctet (Mio)||= 220 octets||= 1024 Kio||= 1048576 octets|
|1 gibioctet (Gio)||= 230 octets||= 1024 Mio||= 1073741824 octets|
|1 tebioctet (Tio)||= 240 octets||= 1024 Gio||= 1099511627776 octets|
|1 pebioctet (Pio)||= 250 octets||= 1024 Tio||= 1125899906842624 octets|
|1 exbioctet (Eio)||= 260 octets||= 1024 Pio||= 1152921504606846976 octets|
|1 zebioctet (Zio)||= 270 octets||= 1024 Eio||= 1180591620717411303424 octets|
|1 yobioctet (Yio)||= 280 octets||= 1024 Zio||= 1208925819614629174706176 octets|
The SI prefixes kilo, mega, giga, tera, etc., stay the same as for all the SI units, based on power of 10. In this case:
|1 kilooctet (ko)||= 103 octets||= 1000 octets|
|1 megaoctet (Mo)||= 106 octets||= 1000 ko||= 1000000 octets|
|1 gigaoctet (Go)||= 109 octets||= 1000 Mo||= 1000000000 octets|
|1 teraoctet (To)||= 1012 octets||= 1000 Go||= 1000000000000 octets|
|1 petaoctet (Po)||= 1015 octets||= 1000 To||= 1000000000000000 octets|
|1 exaoctet (Eo)||= 1018 octets||= 1000 Po||= 1000000000000000000 octets|
|1 zettaoctet (Zo)||= 1021 octets||= 1000 Eo||= 1000000000000000000000 octets|
|1 yottaoctet (Yo)||= 1024 octets||= 1000 Zo||= 1000000000000000000000000 octets|