Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #194437

Re: utf

From Nicolas George <george@nsup.org>
Newsgroups linux.debian.user
Subject Re: utf
Date 2018-04-03 12:20 +0200
Message-ID <vArcJ-6wn-1@gated-at.bofh.it> (permalink)
References <vzLQd-4cg-1@gated-at.bofh.it> <vzRsC-8m1-3@gated-at.bofh.it> <vA2o1-6N4-3@gated-at.bofh.it> <vApXj-5wU-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

> On Mon, Apr 02, 2018 at 09:39:05AM +0200, Andre Majorel wrote:
> >I wouldn't say that. UTF-8 breaks a number of assumptions. For
> >instance,
> >1) every character has the same size,
> >2) every byte sequence is a valid character,
> >3) the equality or inequality of two characters comes down to
> >  the equality or inequality of the bytes they encode to.

I am sure you do not realize that none of these assumptions are really
met by any encoding and none of these assumptions actually bring
something. They are just rehashed poor arguments to rationalize a fear
of change by people afraid their long-earned knowledge will become
obsolete. I do not know if you fit in that category. Odds are you have
just been misinformed after having normal trouble during the transition.

Darac Marjal (2018-04-03):
> If these things matter to you, it's better to convert from UTF-8 to Unicode,
> first.

"Convert to Unicode" does not mean anything. Unicode is not a format,
and therefore you cannot convert something to it.

Unicode is a catalog of "infolinguistic entities". I do not say
characters, because they are not all. Most of Unicode is characters, but
not all. As is stands, the principle of Unicode is that any "pure" text
can be represented as a sequence of Unicode code points.

For storing in a file or sending on the network, this sequence of code
points must be converted into a sequence of octets. UTF-8 is by far the
best choice for that, because it has many interesting properties. Other
encodings suffer from being incomplete, being incompatible with ASCII,
being sensible to endianness problems, being subject to corruption or
all of the above.

>	 I tend to think of Unicode as an arbitrarily large code page. Each
> character maps to a number, but that number could be 1, 1000 or 500_000
> (Unicode seems to be growing without might end in sight).

The twentieth century just called, it wanks the "code page" idiom back.

>							    Internally, you
> might store those code points as Integers or QUad Words or whatever you
> like. Only once you're ready to transfer the text to another process (print
> on screen, save to a file, stream across a network), do you convert the
> Unicode back into UTF-8.

Internally, this is a reasonable choice in some cases, but not actually
that useful in most. Your discourse is based on the assumption that
accessing a single Unicode code point in the string would be useful.
Most of the time, it is not. Remember that an Unicode code point is not
necessarily a character.

You need to decide the data structure based on the treatments you intend
to perform on the text. And actually, most of the time using an array of
octets in UTF-8 is the best choice for internal representation too.

> Basically, you consider UTF-8 to be a transfer-only format (like Base64). If
> you want to do anything non-trivial with it, decode it into Unicode.

No, definitely not. If somebody wants to do anything non-trivial with
text, then either they already know what they are doing better than
this, and do not need that advice, or they do not and they will get it
wrong.

Use a library. And use whatever text format that library use.

The problem does not come from UTF-8 or Unicode or anything
computer-related, the problem comes from the principle of written human
text: writing systems are insanely complex.

Regards,

-- 
  Nicolas George

Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

utf mess-mate <mess-mate@gmx.com> - 2018-04-01 16:10 +0200
  Re: utf Curt <curty@free.fr> - 2018-04-01 17:50 +0200
  Re: utf Ionel Mugurel Ciobîcă <I.M.Ciobica@upcmail.nl> - 2018-04-01 18:30 +0200
  Re: utf Andre Majorel <aym-naibed@teaser.fr> - 2018-04-01 18:40 +0200
  Re: utf Ben Caradoc-Davies <ben@transient.nz> - 2018-04-01 22:10 +0200
    Re: utf Cindy-Sue Causey <butterflybytes@gmail.com> - 2018-04-02 00:50 +0200
      Re: utf Curt <curty@free.fr> - 2018-04-02 09:50 +0200
        Re: utf Richard Hector <richard@walnut.gen.nz> - 2018-04-02 11:40 +0200
        Re: utf Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-02 15:30 +0200
    Re: utf Andre Majorel <aym-naibed@teaser.fr> - 2018-04-02 09:50 +0200
      Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-02 14:40 +0200
        Re: Invalid UTF-8 byte? (was: Re: utf) <tomas@tuxteam.de> - 2018-04-02 15:10 +0200
        Re: Invalid UTF-8 byte? (was: Re: utf) Henrique de Moraes Holschuh <hmh@debian.org> - 2018-04-02 15:10 +0200
          Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-02 19:50 +0200
            Re: Invalid UTF-8 byte? (was: Re: utf) Henrique de Moraes Holschuh <hmh@debian.org> - 2018-04-02 20:20 +0200
              Re: Invalid UTF-8 byte? (was: Re: utf) <tomas@tuxteam.de> - 2018-04-02 20:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) tomas@tuxteam.de - 2018-04-02 21:00 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-02 21:10 +0200
        Re: Invalid UTF-8 byte? (was: Re: utf) Michael Lange <klappnase@freenet.de> - 2018-04-03 00:50 +0200
          Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-03 13:50 +0200
            Re: Invalid UTF-8 byte? (was: Re: utf) Nicolas George <george@nsup.org> - 2018-04-03 14:00 +0200
              Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-03 14:30 +0200
            Re: Invalid UTF-8 byte? (was: Re: utf) Michael Lange <klappnase@freenet.de> - 2018-04-03 14:10 +0200
              Re: Invalid UTF-8 byte? (was: Re: utf) Michael Lange <klappnase@freenet.de> - 2018-04-03 14:20 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) <tomas@tuxteam.de> - 2018-04-03 14:40 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Michael Lange <klappnase@freenet.de> - 2018-04-03 21:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-03 21:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Michael Lange <klappnase@freenet.de> - 2018-04-03 22:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-03 14:40 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 03:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 03:20 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Nicolas George <george@nsup.org> - 2018-04-04 13:30 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 14:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Nicolas George <george@nsup.org> - 2018-04-04 14:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 14:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Nicolas George <george@nsup.org> - 2018-04-04 15:00 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Andre Majorel <aym-naibed@teaser.fr> - 2018-04-04 16:20 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-04 16:30 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 18:00 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 18:00 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2018-04-04 20:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-04 14:30 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 15:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Don Armstrong <don@debian.org> - 2018-04-04 19:40 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Nicolas George <george@nsup.org> - 2018-04-04 19:50 +0200
                mbox vs maildir vs better formats [Re: Invalid UTF-8 byte? (was: Re:  utf)] Don Armstrong <don@debian.org> - 2018-04-04 20:00 +0200
                Re: mbox vs maildir vs better formats [Re: Invalid UTF-8 byte? (was:  Re: utf)] Nicolas George <george@nsup.org> - 2018-04-04 20:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 20:40 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Don Armstrong <don@debian.org> - 2018-04-04 20:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-05 14:40 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) deloptes <deloptes@gmail.com> - 2018-04-05 00:20 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 21:30 +0200
              Re: Invalid UTF-8 byte? (was: Re: utf) Henrique de Moraes Holschuh <hmh@debian.org> - 2018-04-04 13:20 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) <tomas@tuxteam.de> - 2018-04-04 16:10 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Henrique de Moraes Holschuh <hmh@debian.org> - 2018-04-04 20:50 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) <tomas@tuxteam.de> - 2018-04-04 21:30 +0200
                Re: Invalid UTF-8 byte? Ben Caradoc-Davies <ben@transient.nz> - 2018-04-04 23:50 +0200
                Re: Invalid UTF-8 byte? Michael Stone <mstone@debian.org> - 2018-04-05 01:00 +0200
                Re: Invalid UTF-8 byte? (was: Re: utf) Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2018-04-04 21:00 +0200
        Re: Invalid UTF-8 byte? (was: Re: utf) Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2018-04-04 20:30 +0200
          Re: Invalid UTF-8 byte? (was: Re: utf) rhkramer@gmail.com - 2018-04-04 21:30 +0200
      Re: utf Ben Caradoc-Davies <ben@transient.nz> - 2018-04-02 23:40 +0200
      Re: utf Darac Marjal <mailinglist@darac.org.uk> - 2018-04-03 11:00 +0200
        Re: utf Richard Hector <richard@walnut.gen.nz> - 2018-04-03 11:20 +0200
          Re: utf <tomas@tuxteam.de> - 2018-04-03 11:30 +0200
        Re: utf Nicolas George <george@nsup.org> - 2018-04-03 12:20 +0200
        Re: utf Ben Caradoc-Davies <ben@transient.nz> - 2018-04-03 22:50 +0200
          Re: utf Nicolas George <george@nsup.org> - 2018-04-03 23:00 +0200
            Re: utf Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-03 23:00 +0200
              Re: utf Nicolas George <george@nsup.org> - 2018-04-03 23:30 +0200
                Re: utf deloptes <deloptes@gmail.com> - 2018-04-04 19:00 +0200
                Re: utf Nicolas George <george@nsup.org> - 2018-04-04 19:10 +0200
                Re: utf Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-04 19:30 +0200
                Re: utf Nicolas George <george@nsup.org> - 2018-04-04 19:40 +0200
                Re: utf deloptes <deloptes@gmail.com> - 2018-04-04 19:40 +0200
                Re: utf Nicolas George <george@nsup.org> - 2018-04-04 19:40 +0200
                Re: utf Greg Wooledge <wooledg@eeg.ccf.org> - 2018-04-04 19:50 +0200
                Re: utf Nicolas George <george@nsup.org> - 2018-04-04 20:00 +0200
                Re: utf deloptes <deloptes@gmail.com> - 2018-04-04 23:20 +0200
                Re: utf Richard Hector <richard@walnut.gen.nz> - 2018-04-05 02:30 +0200
                Re: utf Nicolas George <george@nsup.org> - 2018-04-05 14:10 +0200
                Re: utf Stefan Monnier <monnier@iro.umontreal.ca> - 2018-04-05 00:00 +0200
                Re: utf rhkramer@gmail.com - 2018-04-04 20:30 +0200
                Re: utf Joel Roth <joelz@pobox.com> - 2018-04-04 21:30 +0200
                Re: utf deloptes <deloptes@gmail.com> - 2018-04-04 23:40 +0200
                Re: utf <tomas@tuxteam.de> - 2018-04-05 08:30 +0200
                Re: utf rhkramer@gmail.com - 2018-04-05 14:50 +0200
                Re: utf <tomas@tuxteam.de> - 2018-04-05 15:00 +0200
                Re: utf Nicolas George <george@nsup.org> - 2018-04-05 15:00 +0200
                Re: utf tomas@tuxteam.de - 2018-04-05 15:10 +0200
                Re: utf deloptes <deloptes@gmail.com> - 2018-04-05 21:40 +0200
                Re: utf Stefan Monnier <monnier@iro.umontreal.ca> - 2018-04-05 23:30 +0200
                Re: utf deloptes <deloptes@gmail.com> - 2018-04-05 23:40 +0200
                Re: utf Stefan Monnier <monnier@iro.umontreal.ca> - 2018-04-06 03:20 +0200
                Re: utf <tomas@tuxteam.de> - 2018-04-06 09:00 +0200
                Re: utf Ben Caradoc-Davies <ben@transient.nz> - 2018-04-06 04:20 +0200
                Re: utf <tomas@tuxteam.de> - 2018-04-06 09:10 +0200
                Re: utf Stefan Monnier <monnier@iro.umontreal.ca> - 2018-04-05 19:00 +0200
                Re: utf rhkramer@gmail.com - 2018-04-05 20:00 +0200
              Re: utf Stefan Monnier <monnier@iro.umontreal.ca> - 2018-04-03 23:40 +0200
        Re: utf Henrique de Moraes Holschuh <hmh@debian.org> - 2018-04-04 14:20 +0200

csiph-web