Revision as of 14:39, 4 October 2010 editRich Farmbrough (talk | contribs)Edit filter managers, Autopatrolled, Extended confirmed users, File movers, Pending changes reviewers, Rollbackers, Template editors1,725,587 editsm →Notes: Hyphenate adjectival use of miles - manually very slowly. using AWB← Previous edit |
Latest revision as of 15:59, 25 November 2018 edit undo174.254.130.36 (talk) Now redirects to the specific section for this RFC.Tag: Redirect target changed |
(47 intermediate revisions by 35 users not shown) |
Line 1: |
Line 1: |
|
|
#REDIRECT ] |
|
{{Refimprove|date=July 2010}} |
|
|
'''UTF-9''' and '''UTF-18''' (9- and 18-] ], respectively) were two ] joke specifications for encoding unicode on systems where the ] (nine bit group) is a better fit for the native word size than the ], such as the 36-bit ]. Both encodings were specified in RFC 4042, written by ] (inventor of ]) and released on April 1, 2005. The encodings suffer from a number of flaws and it is confirmed by their author that they were intended as a joke.<ref>{{cite web|url=http://panda.com/mrc/|title=Mark Crispin's Web Page|accessdate=2006-09-17}} Points out ] for two of his RFCs.</ref> |
|
|
|
|
|
|
|
{{Rcat shell| |
|
However unlike some of the "specifications" given in other April 1 ] they are actually technically possible to implement, and have in fact been implemented in ] assembly language. They are not endorsed by the ]. |
|
|
|
{{R to related topic}} |
|
|
|
|
|
{{Rwh}} |
|
==Technical details== |
|
|
|
}} |
|
Like the 8-bit code commonly called ], UTF-9 uses a system of putting an octet in the low 8 ]s of each nonet and using the high bit to indicate continuation. This means that ] and ] characters take one nonet each, the rest of the ] characters take two nonets each and non-BMP code points take three. Code points that require multiple nonets are stored starting with the most significant non-zero octet. |
|
|
|
|
|
UTF-18 is a fixed length encoding using an 18 bit integer per code point. This allows representation of 4 planes, which are mapped to the 4 planes currently used by ] (planes 0-2 and 14). This means that the two private use planes (15 and 16) and the currently unused planes (3-13) are not supported. The UTF-18 specification doesn't say why they didn't allow surrogates to be used for these code points though when talking about UTF-16 earlier in the RFC it says "This transformation format requires complex surrogates to represent code points outside the BMP". After complaining about their complexity it would have looked a bit hypocritical to use surrogates in their new standard. It is unlikely that planes 3-13 will be assigned by ] any time in the foreseeable future. Thus, UTF-18, like ] and ], guarantees a fixed width for all characters (although not for all glyphs). |
|
|
|
|
|
==Problems== |
|
|
Both specifications suffer from the problem that standard communication protocols are built around octets rather than nonets, and so it would not be possible to exchange text in these formats without further encoding or specially designed protocols. This alone would probably be sufficient reason to consider their use impractical in most cases. However, this would be less of a problem with pure bit-stream communication protocols<!-- do such protocols actually exist?-->. |
|
|
|
|
|
Furthermore, both UTF-9 and UTF-18 have specific problems of their own. UTF-9 requires special care when searching, as a shorter sequence can be found at the end of a longer sequence. This means that it is necessary to search backwards in order to find the start of the sequence. UTF-18 cannot represent all Unicode code points (although unlike UCS-2 it can represent all the planes that currently have non-private use code point assignments) making it a bad choice for a system that may need to support new languages (or rare ] ]s that are added after the ] fills up) in the future. |
|
|
|
|
|
== See also == |
|
|
* ] |
|
|
* ] |
|
|
* ] |
|
|
|
|
|
==External links== |
|
|
* : UTF-9 and UTF-18 Efficient Transformation Formats of Unicode |
|
|
|
|
|
==Notes== |
|
|
<references/> |
|
|
|
|
|
{{character encoding}} |
|
|
|
|
|
|
{{DEFAULTSORT:Utf-09 And Utf-18}} |
|
{{DEFAULTSORT:Utf-09 And Utf-18}} |
|
] |
|
] |
|
] |
|
] |
|
] |
|
|
|
|
|
] |
|