eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingUnicode powyżej BMPRe: Unicode powyżej BMP
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: Borneq <b...@a...hidden.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Unicode powyżej BMP
    Date: Wed, 25 May 2011 01:13:52 +0200
    Organization: http://onet.pl
    Lines: 38
    Message-ID: <irhe38$gdv$1@news.onet.pl>
    References: <irgrep$37m$1@news.onet.pl> <1c18ji14hd42b$.1uis7rs9d88yf.dlg@40tude.net>
    NNTP-Posting-Host: 194.117.241.254
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1306278824 16831 194.117.241.254 (24 May 2011 23:13:44 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Tue, 24 May 2011 23:13:44 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.17) Gecko/20110414
    Thunderbird/3.1.10
    In-Reply-To: <1c18ji14hd42b$.1uis7rs9d88yf.dlg@40tude.net>
    Xref: news-archive.icm.edu.pl pl.comp.programming:190674
    [ ukryj nagłówki ]

    W dniu 2011-05-25 00:18, Zbigniew Malec pisze:
    > A jaką aplikację piszesz? Jeżeli jest tam szansa na pojawienie się znaków
    > powyżej 16bit, to tak, trzeba się przejmować. Jak nie, to nie trzeba.
    > Jeżeli chodzi o Javę, to zgadza się, znak jest tam dwubajtowy, jednak cały
    > czas masz możliwość równoległego operowania na code point (chociażby
    > String.codePointAt), więc tutaj nie ma problemów.

    Chciałbym poznać Javę od strony tworzenia własnych komponentów, zrobić
    komponent wypisujący znaki z danego zakresu Unicode (tabelka). Potrzebny
    do testów jest font mający znaki o wyższych kodach.
    Ale nie jestem pewien jak działa funkcja String.codePointAt
    czy jeśli mam _dwa_słowa_na_hieroglif, litera A
    to dla zera zwróci hieroglif natomiast A zwróci dla trójki zamiast dla
    dwójki?
    Mam w openJDK:
    Class String:
    public int codePointAt(int index) {
    if ((index < 0) || (index >= count)) {
    throw new StringIndexOutOfBoundsException(index);
    }
    return Character.codePointAtImpl(value, offset + index, offset
    + count);
    }

    Class Character:
    // throws ArrayIndexOutofBoundsException if index out of bounds
    static int codePointAtImpl(char[] a, int index, int limit) {
    char c1 = a[index++];
    if (isHighSurrogate(c1)) {
    if (index < limit) {
    char c2 = a[index];
    if (isLowSurrogate(c2)) {
    return toCodePoint(c1, c2);
    }
    }
    }
    return c1;
    }

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: