🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #230

Unikody i Java

#230
From: Juliusz Chroboczek
Date: Mon, 13 Jan 1997 16:54
59 lines
3210 bytes
Witam,

Nudno tu (na p.c.ogonki).  Jeszcze kilka miesięcy temu odbywała się
interesująca krucjata na temat `ISO contra CeP', a teraz wszyscy już
piszą sobie w ISO...  Czy jest jeszcze nadzieja na jakieś interesujące
ogonkowanie?

Niedługo przyjdą Unikody.  Dla nie wtajemniczonych, Unicode jest
32-bitowym uniwersalnym kodem zawierającym wszystkie znaki we
wszechświecie.  Istnieje 16-bitowy podzbiór Unicode, zwany BMP (Basic
Multilingual Plane), który, niestety, nie zawiera średniowiecznych
herbów chińskich (ale hieroglify chyba są).  W BMP działają
wewnętrznie WNT (ostatnia wersja VMS-u, też zwana Windows NT), Plan 9
(więc też Wily), oraz Java.

Już myśleliśmy, że Unikody rozwiążą problem różnych kodowań znaków na
Internecie...  Tymczasem Unicode definiuje wiele różnych kodowań:

o UCS-4: 32-bitowe unikody.
o BMP: 16-bitowe kody.
o UTF-8 (czyli `filesystem safe Unicode'): ośmiobitowy format;
  siedmiobitowy podzbiór UTF-8 jest równy US-ASCII.
o UTF-7: format siedmiobitowy.
o UTF-1: przestarzały wariant UTF-8.

Czyli, już niedługo, możemy liczyć na następujące kodowania:

o BMP, big-endian, 8bit lub base64.  Używane pewnie w środowisku
  nie-europejskim.
o BMP, little-endian.  Produkowane wyłącznie przez MS-Mail ;->
o UTF-8, 8bit.
o UTF-8, QP: środowisko europejskie (większość znaków łacińskie).
o UTF-8, base64.  Na środowsko nie-europejskie.
o UTF-7, 7bit: bardziej oszczędne niż UTF-8 w przypadku transmisji
  siedmiobitowych.

US-ASCII będąc podzbiorem UTF-8, więc Amerykanie tranzycji nie
zauważą.  Możemy jeszcze liczyć na interesujące dyskusje (jak na
przykład, dlaczego kodów nie należy wysyłać w kolejności
little-endian).

Jedyne środowsko, do którego mam dostęp a działa z Unikodami, to JDK
1.1 beta.  Niestety, klasa TextArea unikodów nie kojarzy, więc
musiałem napisać własny widget (subklasa Canvas).  Działa, owszem,
mogę czytać i pisać UTF-8 oraz BMP (UTF-7 nie), i nawet widzę znaki
jeżeli mam dobrze skonfigurowane czcionki.

JDK pozwala na pisanie i czytanie w dowolnych kodach.  Niestety, o ile
ośmiobitowe kodowania są prawidłowe (między innymi ISO-8859-? oraz
wszelkie CePy), to inne nie bardzo.  N.p. ISO-2022 ma tylko znaki
ASCII i japońskie.

Kiedy będę miał czas, to spręże mój programik z przeglądarką Newsów i
zacznę na p.c.ogonki pisać w UTF-8.  I tak mnie nikt nie czyta...

Pozdrawiam,
                                        J.

P.S. Cross-posting.  W ewentualnym followupie proszę nagłówki obciąć.
Technical Details
Message-ID: <dh3buatfrc3.fsf@calvay.dcs.ed.ac.uk>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!news.nask.pl!usenet

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!news.nask.pl!usenet
From: Juliusz Chroboczek <jec@dcs.ed.ac.uk>
Newsgroups: pl.comp.ogonki,pl.comp.lang.java
Subject: Unikody i Java
Date: 13 Jan 1997 16:54:52 +0000
Organization: Public NewsServer at NASK N.O.C.
Lines: 59
Sender: jec@calvay.dcs.ed.ac.uk
Message-ID: <dh3buatfrc3.fsf@calvay.dcs.ed.ac.uk>
NNTP-Posting-Host: calvay.dcs.ed.ac.uk
Mime-Version: 1.0 (generated by tm-edit 7.89)
X-Newsreader: Gnus v5.3/Emacs 19.34
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit