Re: UCS-2/UTF-16 terminals?

From: Markus Kuhn (Markus.Kuhn@cl.cam.ac.uk)
Date: Wed Aug 18 1999 - 16:18:37 EDT


Frank da Cruz wrote on 1999-08-18 18:11 UTC:
> Am I right in assuming that there will probably never be a host that
> communicates with its console or its terminals with "bare" UCS-2 or UTF-16?

Yes. There will certainly be no widely used 16-bit UART format on
RS-232C cables, and there will also not be a 16-bit TCP socket format,
etc. The notion of serial line communication with a terminal, printer,
etc. is deeply fixed on the stream-of-octet format, so everything will
remain byte oriented. The hazard with UTF-16 is that in a system with
byte synchronization, there exists no mechanism to guarantee 16-bit word
synchronization. A single lost or spuriously inserted byte will corrupt
all data until the next byte is lost, which is not acceptable in most
applications. The desynchronization risk of UTF-16 is only acceptable if
you are guaranteed to remain in a channel like TCP or a Unix file, where
a sequence number is associated with every byte, and where the least
significant bit of the sequence number indicates whether you are looking
at the high or low byte of a UTF-16 word. Even TCP has some word
desynchronization risks if TCP resets are allowed by the protocol, or if
TCP implementations are faulty (such as the well-known TCP problems with
HP-UX).

UTF-8 was carefully designed to be selfsynchronizing and has none of
these hazards.

> In other words, that for Unicode / ISO-10646 terminal emulation, UTF-8
> will be enough?

Yes, definitely.

> As with Plan 9 and forthcoming Linux releases...

Yes.

> (What about the NT console window and/or NT Telnet servers?)

If you really can redirect these onto serial ports or telnet
connections, then UTF-8 is also the right encoding to use here. (But
it's an academic question anyway: Remember that NT unlike Unix/VMS/etc.
was deliberately designed to be fundamentally hostile against remote
login usage, in order to maxise Microsoft's application software
sales by preventing any comfortable remote sharing of applications. NT
is really just a PC GUI, not a proper networked server/host OS, in spite
of what the marketroids try to tell the world.)

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:51 EDT