<story><title>The history of UTF-8 as told by Rob Pike (2003)</title><url>http://doc.cat-v.org/bell_labs/utf-8_history</url></story><parent_chain><item><author>julian37</author><text>UTF-8 is just... so well designed.&lt;p&gt;One little feature I like in particular is that if you&amp;#x27;re looking for an ASCII-7 character in a UTF-8 stream -- say, a LF or comma -- you don&amp;#x27;t have to decode the stream first because all bytes in the encoding of non-ASCII-7 characters have the high bit set. Or as Wikipedia puts it:&lt;p&gt;&amp;gt; Since ASCII bytes do not occur when encoding non-ASCII code points into UTF-8, UTF-8 is safe to use within most programming and document languages that interpret certain ASCII characters in a special way, such as &amp;#x2F; (slash) in filenames, \ (backslash) in escape sequences, and % in printf.&lt;p&gt;It&amp;#x27;s amazing to hear they put it together in one night at a diner! :-D</text></item><item><author>TorKlingberg</author><text>I think we should take a moment to appreciate how great UTF-8 is, and how it well it worked out. It&amp;#x27;s easy to get disillusioned with internet standards when IPv6 is taking forever and messaging is all proprietary locked down protocols. Yet character encodings used to be a horrible mess and now it&amp;#x27;s not. In the 90&amp;#x27;s the only practical solution was for everyone to use the same OS, same word processor, same web browser, and who cares about talking with foreigners anyway?&lt;p&gt;I don&amp;#x27;t think it was always guaranteed to turn out well. China and Japan could have stayed with their own encodings. Microsoft and Apple could have done incompatible things. The tech world is full of bad things we&amp;#x27;re stuck with because there&amp;#x27;s no way to coordinate a change.&lt;p&gt;Unicode has it&amp;#x27;s flaws, UTF-16 is still lurking here and there, everyone loves to argue about emoji, but overall text just works now.</text></item></parent_chain><comment><author>foobarian</author><text>&amp;gt; It&amp;#x27;s amazing to hear they put it together in one night at a diner! :-D&lt;p&gt;I guess you&amp;#x27;re saying that in good humor.  But I&amp;#x27;ll add this because it makes me appreciate how these things happen:&lt;p&gt;&amp;gt; What happened was this.  We had used the original UTF from ISO 10646 to make Plan 9 support 16-bit characters, but we hated it.&lt;p&gt;&amp;quot;We hated it&amp;quot; -- there is just so much going on in those 3 words.  They could have been suffering with the previous  state for a year for all we know.  And even if not, to know you hate something just takes a lot of system building experience to get to.  And then when opportunity struck they probably already had a laundry list of grievances they had built up over that time and were ready to pounce.</text></comment>
<story><title>The history of UTF-8 as told by Rob Pike (2003)</title><url>http://doc.cat-v.org/bell_labs/utf-8_history</url></story><parent_chain><item><author>julian37</author><text>UTF-8 is just... so well designed.&lt;p&gt;One little feature I like in particular is that if you&amp;#x27;re looking for an ASCII-7 character in a UTF-8 stream -- say, a LF or comma -- you don&amp;#x27;t have to decode the stream first because all bytes in the encoding of non-ASCII-7 characters have the high bit set. Or as Wikipedia puts it:&lt;p&gt;&amp;gt; Since ASCII bytes do not occur when encoding non-ASCII code points into UTF-8, UTF-8 is safe to use within most programming and document languages that interpret certain ASCII characters in a special way, such as &amp;#x2F; (slash) in filenames, \ (backslash) in escape sequences, and % in printf.&lt;p&gt;It&amp;#x27;s amazing to hear they put it together in one night at a diner! :-D</text></item><item><author>TorKlingberg</author><text>I think we should take a moment to appreciate how great UTF-8 is, and how it well it worked out. It&amp;#x27;s easy to get disillusioned with internet standards when IPv6 is taking forever and messaging is all proprietary locked down protocols. Yet character encodings used to be a horrible mess and now it&amp;#x27;s not. In the 90&amp;#x27;s the only practical solution was for everyone to use the same OS, same word processor, same web browser, and who cares about talking with foreigners anyway?&lt;p&gt;I don&amp;#x27;t think it was always guaranteed to turn out well. China and Japan could have stayed with their own encodings. Microsoft and Apple could have done incompatible things. The tech world is full of bad things we&amp;#x27;re stuck with because there&amp;#x27;s no way to coordinate a change.&lt;p&gt;Unicode has it&amp;#x27;s flaws, UTF-16 is still lurking here and there, everyone loves to argue about emoji, but overall text just works now.</text></item></parent_chain><comment><author>comeonseriously</author><text>&amp;gt; It&amp;#x27;s amazing to hear they put it together in one night at a diner! :-D&lt;p&gt;On the one hand, sure.  But on the other you have Ken Thompson.</text></comment>