RE: Je to písmeno nebo není ...
Rudolf PECINOVSKÝ
rudolf na pecinovsky.cz
Pátek Prosinec 11 10:45:30 CET 2009
To bude tím, že se v Javě 5 přecházelo na jinou verzi normy Unicode konkrétně z verze 2.1 z roku 1998 (ta ale oproti verzi 2.0, s níž Java začala, přidala jenom znak eura) na verzi 4.0 z roku 2003.
Šestka podle mne implementuje verzi 5.0 z roku 2006. Ta udělala zase pár kotrmelců - možná že ta změna interpretace háčku je jedním z nich. Každopádně se v šestce třídy pro normalizaci znaků (převod háčko-čárkovaných písmen na dvojici znak - diakritika a zpět) přestěhovaly z balíčku sun.text do java.text a navíc se jejich metody i trochu změnily včetně požadovaných parametrů.
Pozor - v roce 2010 se chystá Unicode verze 6.0, takže můžeme v příští Javě čekat v práci se znaky zase nějaké drobné změny.
Rozpovídal jsem se jenom proto, abyste věděli, že i věc, o níž si člověk myslí, že už je dávno usazená, může pořád překvapovat - viz problém s diakritikou.
Preji krasny den
Have a nice day
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Rudolf P E C I N O V S K Y
Senior EDU Expert, ICZ a.s.
Associate Professor
Department of information technologies
University of Economics, Prague
Tel: +420 244 101 764
GSM: +420 603 330 090
ICQ: 158 156 600
Jabber: Pecinovsky na jabbim.cz
rudolf na pecinovsky.cz
rudolf.pecinovsky na i.cz
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
> -----Původní zpráva-----
> Od: konference-bounces na java.cz [mailto:konference-bounces na java.cz] za
> uživatele Petr Franta
> Odesláno: pátek 11. prosince 2009 09:59
> Komu: konference na java.cz
> Předmět: Je to písmeno nebo není ...
>
> Začaly mi padat testy a po bádání jsem dospěl k tomuto:
> Znak "háček" bez písmene - \u02C7 není v JDK 1.4 znak, ale v JDK 1.6
> už znakem je! Asi těch znaků bude více, ale pro mne je to překvapením
> ...
>
> public class Test {
> /**
> * Test znaku.
> */
> public static void main(String[] args) {
> char ch = '\u02C7';
>
> System.out.println("Znak: " + ch + " " + (int) ch + " " +
> Character.isLetterOrDigit(ch));
> }
> }
>
> C:\Program Files\Java\jdk14\bin>java -version
> java version "1.4.2_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
>
> C:\Program Files\Java\jdk14\bin>java Test
> Znak: ˇ 711 false
>
> c:\Program Files\Java\jdk16\bin>java -version
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
>
> c:\Program Files\Java\jdk16\bin>java Test
> Znak: ˇ 711 true
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 4677
> (20091210) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
__________ Informace od ESET NOD32 Antivirus, verze databaze 4677 (20091210) __________
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz
Další informace o konferenci Konference