{{short description|Unit of digital information}} {{distinguish|Units of information#Octlet{{!}}Octlet|Octal|Octave}}{{refimprove|date=September 2008}} {{Infobox unit | name = octet | standard = units derived from bit | quantity = digital information, data size | symbol = o | extralabel = In primary units of information | extradata = 1 o = 8 bits }}
The '''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 the term byte has historically been used for storage units of a variety of sizes.
The term ''octad(e)'' for eight bits is no longer common.<ref name="Philips_1971"/><ref name="Williams_1969"/>
==Definition== The international standard IEC 60027-2, chapter 3.8.2, states that a byte is an octet of bits. However, the unit byte has historically been platform-dependent and has represented various storage sizes in the history of computing. Due to the influence of several major computer architectures and product lines, the byte became overwhelmingly associated with eight bits. This meaning of ''byte'' is codified in such standards as ISO/IEC 80000-13. While ''byte'' and ''octet'' are often used synonymously, those working with certain legacy systems are careful to avoid ambiguity.{{cn|date=March 2017}}
Octets can be represented using number systems of varying bases such as the hexadecimal, decimal, or octal number systems. The binary value of all eight bits set (or activated) is {{n-ary|11111111|2}}, equal to the hexadecimal value {{n-ary|FF|16}}, the decimal value {{n-ary|255|10}}, and the octal value {{n-ary|377|8}}. One octet can be used to represent decimal values ranging from 0 to 255.
The term ''octet'' (symbol: o<ref group="nb" name="NB_Postfix-o"/>) 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 {{IETF-RFC|635}} from 1974. In 2000, Bob Bemer claimed<!-- only a claim until we find historic documents supporting this --> to have earlier proposed the usage of the term octet for "8-bit bytes" when he headed software operations for Cie. Bull in France in 1965 to 1966.<ref name="Bemer_2000"/>
In France, French Canada and Romania, ''octet'' is used in common language instead of ''byte'' when the eight-bit sense is required; for example, a megabyte (MB) is termed a megaoctet (Mo).
A variable-length sequence of octets, as in Abstract Syntax Notation One (ASN.1), is referred to as an octet string.
=== Octad === Historically, in Western Europe, the term ''octad'' (or ''octade'') was used to specifically denote eight bits,<ref name="Williams_1969"/><ref name="Philips_1971"/> a usage no longer common. Early examples of usage exist in British,<ref name="Williams_1969"/> Dutch and German sources of the 1960s and 1970s, and throughout the documentation of Philips mainframe computers.<ref name="Philips_1971"/> Similar terms are ''triad'' for a grouping of three bits and ''decade'' for ten bits.
==Unit multiples== {{see also|Byte#Multiple-byte units}} Unit multiples of the octet may be formed with SI prefixes and binary prefixes (power of 2 prefixes) as standardized by the International Electrotechnical Commission in 1998.
{| ! colspan=3| SI prefixes |- | 1 ''kilooctet'' (ko) ||colspan="2"| = 10<sup>3</sup> octets || = {{gaps|1|000}} octets |- | 1 ''megaoctet'' (Mo) || = 10<sup>6</sup> octets || = 1000 ko || = {{gaps|1|000|000}} octets |- | 1 ''gigaoctet'' (Go) || = 10<sup>9</sup> octets || = 1000 Mo || = {{gaps|1|000|000|000}} octets |- | 1 ''teraoctet'' (To) || = 10<sup>12</sup> octets || = 1000 Go || = {{gaps|1|000|000|000|000}} octets |- | 1 ''petaoctet'' (Po) || = 10<sup>15</sup> octets || = 1000 To || = {{gaps|1|000|000|000|000|000}} octets |- | 1 ''exaoctet'' (Eo) || = 10<sup>18</sup> octets || = 1000 Po || = {{gaps|1|000|000|000|000|000|000}} octets |- | 1 ''zettaoctet'' (Zo) || = 10<sup>21</sup> octets || = 1000 Eo || = {{gaps|1|000|000|000|000|000|000|000}} octets |- | 1 ''yottaoctet'' (Yo) || = 10<sup>24</sup> octets || = 1000 Zo || = {{gaps|1|000|000|000|000|000|000|000|000}} octets |}
{| ! colspan=3|Binary prefixes |- | 1 ''kibioctet'' (Kio, also written Ko, as distinct from ko) ||colspan="2"| = 2<sup>10</sup> octets || = {{gaps|1|024}} octets |- | 1 ''mebioctet'' (Mio) || = 2<sup>20</sup> octets || = 1024 Kio || = {{gaps|1|048|576}} octets |- | 1 ''gibioctet'' (Gio) || = 2<sup>30</sup> octets || = 1024 Mio || = {{gaps|1|073|741|824}} octets |- | 1 ''tebioctet'' (Tio) || = 2<sup>40</sup> octets || = 1024 Gio || = {{gaps|1|099|511|627|776}} octets |- | 1 ''pebioctet'' (Pio) || = 2<sup>50</sup> octets || = 1024 Tio || = {{gaps|1|125|899|906|842|624}} octets |- | 1 ''exbioctet'' (Eio) || = 2<sup>60</sup> octets || = 1024 Pio || = {{gaps|1|152|921|504|606|846|976}} octets |- | 1 ''zebioctet'' (Zio) || = 2<sup>70</sup> octets || = 1024 Eio || = {{gaps|1|180|591|620|717|411|303|424}} octets |- | 1 ''yobioctet'' (Yio) || = 2<sup>80</sup> octets || = 1024 Zio || = {{gaps|1|208|925|819|614|629|174|706|176}} octets |}
==Use in Internet Protocol addresses== The octet is used in representations of Internet Protocol computer network addresses.<ref name="TCPIP"/> An IPv4 address consists of four octets, usually displayed individually as a series of decimal values ranging from 0 to 255, each separated by a dot (a full stop/period). Using octets with all eight bits set, the representation of the highest-numbered IPv4 address is {{IPaddr|255.255.255.255}}.
An IPv6 address consists of sixteen octets, displayed in hexadecimal representation (two hexits per octet), using a colon character (:) after each pair of octets (16 bits are also known as hextet) for readability, such as {{IPaddr|2001:0DB8:0000:0000:0123:4567:89AB:CDEF}}.{{Ref RFC|4291}}
==See also== * Variable-width encoding
==Notes== {{Reflist|group="nb"|refs= <ref group="nb" name="NB_Postfix-o">However, the IEC 80000-13 symbol "o" for octets can be confused with the postfix "o" to indicate octal numbers in ''Intel convention''.</ref> }}
==References== {{Reflist|refs= <ref name="Bemer_2000">{{cite web |title=Why is a byte 8 bits? Or is it? |author-first=Robert William |author-last=Bemer |author-link=Robert William Bemer |date=2000-08-08 |work=Computer History Vignettes |access-date=2017-05-15 |url=http://www.bobbemer.com/BYTE.HTM |archive-date=2017-04-03 |quote=[…] I came to work for IBM, and saw all the confusion caused by the 64-character limitation. Especially when we started to think about word processing, which would require both upper and lower case. […]<!-- Add 26 lower case letters to 47 existing, and one got 73 -- 9 more than 6 bits could represent.--> I even made a proposal (in view of STRETCH, the very first computer I know of with an 8-bit byte) that would extend the number of punch card character codes to 256 […].<!-- [1]. Some folks took it seriously. I thought of it as a spoof. --> So some folks started thinking about 7-bit characters, but this was ridiculous. With IBM's STRETCH computer as background, handling 64-character words divisible into groups of 8 (I designed the character set for it, under the guidance of Dr. Werner Buchholz, the man who DID coin the term "byte" for an 8-bit grouping). […]<!-- [2] --> It seemed reasonable to make a universal 8-bit character set, handling up to 256. In those days my mantra was "powers of 2 are magic". And so the group I headed developed and justified such a proposal […]<!-- [3]. That was a little too much progress when presented to the standards group that was to formalize ASCII, so they stopped short for the moment with a 7-bit set, or else an 8-bit set with the upper half left for future work. --> The IBM 360 used 8-bit characters, although not ASCII directly. Thus Buchholz's "byte" caught on everywhere. I myself did not like the name for many reasons. The design had 8 bits moving around in parallel. But then came a new IBM part, with 9 bits for self-checking, both inside the CPU and in the tape drives. I exposed this 9-bit byte to the press in 1973. But long before that, when I headed software operations for Cie. Bull in France in 1965-66, I insisted that "byte" be deprecated in favor of "octet". […]<!-- You can notice that my preference then is now the preferred term. It is justified by new communications methods that can carry 16, 32, 64, and even 128 bits in parallel. But some foolish people now refer to a "16-bit byte" because of this parallel transfer, which is visible in the UNICODE set. I'm not sure, but maybe this should be called a "hextet". But you will notice that I am still correct. Powers of 2 are still magic! --> |archive-url=https://web.archive.org/web/20170403130829/http://www.bobbemer.com/BYTE.HTM |url-status=dead }}</ref> <ref name="Philips_1971">{{cite web|title=Philips - Philips Data Systems' product range - April 1971 |publisher=Philips |date=1971 |url=http://www.intact-reunies.nl/pdf/product1971.pdf |access-date=2016-10-03 |url-status=usurped |archive-url=https://web.archive.org/web/20160304072023/http://www.intact-reunies.nl/pdf/product1971.pdf |archive-date=2016-03-04}}</ref> <ref name="Williams_1969">{{cite book |title=British Commercial Computer Digest: Pergamon Computer Data Series |author-first=R. H. |author-last=Williams |publisher=Pergamon Press |date=1969-01-01 |isbn=1483122107 |id=978-1483122106 }}</ref> <ref name="TCPIP">{{cite web |title=The TCP/IP Guide - Binary Information and Representation: Bits, Bytes, Nibbles, Octets and Characters - Byte versus Octet |version=3.0 |date=2005-09-20 |orig-year=2001 |author-first=Charles M. |author-last=Kozierok |url=http://www.tcpipguide.com/free/t_BinaryInformationandRepresentationBitsBytesNibbles-3.htm |access-date=2017-04-03 |url-status=live |archive-url=https://web.archive.org/web/20170403122042/http://www.tcpipguide.com/free/t_BinaryInformationandRepresentationBitsBytesNibbles-3.htm |archive-date=2017-04-03}}</ref> }}
==External links== *{{Wiktionary-inline|octet}}
{{Computer Storage Volumes}}
{{DEFAULTSORT:Octet (Computing)}} Category:Units of information