[Java lista] String karakter konverzio
Keresztes József
jkeresztes at vati.hu
2006. Nov. 24., P, 14:19:47 CET
Hi !
El tudom képzelni hogy a kérdezőnek az az alapproblémája és ezért nem tud a gödörből kimászni (nincs valakinél egy létra ? :) mert összeállt egy
rossz String. Pl. olvasott egy InputStream-ről vagy valami byte tömbből
és amikor Stringet állított elő akkor rossz kódolás lett megadva.
S ő ebből a rosszul előállt String-ből szeretne jó adatokat visszakapni...
Joe
________________________________
Feladó: javalist-bounces at javagrund.hu meghatalmazó: Laszlo.Marai at nokia.com
Küldve: 06-11-24, P 13:57
Címzett: javalist at javagrund.hu
Tárgy: Re: [Java lista] String karakter konverzio
Hali!
>Koszonom a sok valaszt, de sajnos nem jutottam eredmenyre.
>Olyan, mintha csak az ekezetes karakter lenne mas kodolasba.
>Eredetileg ezt lattam a logban: "G??" - 0xc3a3 Az atkodolas
>utan pedig: "GĂ?Â?" - 0xefbfbd Tehat tovabb kodolta a kodolast :-(
Igy van. Mivel ezt irtad le. Ahogy mar elhangzott, a Stringek
kodolasa mindig unicode (UTF-16):
"A String represents a string in the UTF-16 format in which supplementary
characters are represented by surrogate pairs (see the section Unicode
Character Representations in the Character class for more information).
Index values refer to char code units, so a supplementary character uses
two positions in a String."
Te nem ezen akarsz valtoztatni, mert ezen nem lehet (meg nincs is ertelme).
Atkodolni akkor kell, ha elhagyja a string a VM-et (kiirod valahova,
atkuldod egy nem java processnek). De ha atkodolod, akkor az onnantol
kezdve nem string hanem egy karakter (vagy byte) tomb, vagy stream.
Az eddigi megoldasok mellett erdemes meg nezegetni az OutputStreamWriter-t
is (ha netan streambe akarnad irogatni a stringeket). Az ugyanis kepes
menetkozben konvertalni a megadott kodolasra a beleirogatott stringeket.
(Valoszinuleg erre van szukseged.)
Ba'ly,
Atleta
_______________________________________________
Javalist mailing list
Javalist at javagrund.hu
http://javagrund.hu/mailman/listinfo/javalist
--------- következő rész ---------
Egy nem text típusú csatolt állomány át lett konvertálva...
Név: nem elérhető
Típus: application/ms-tnef
Méret: 5559 bytes
Leírás: nem elérhető
Url : http://javagrund.hu/pipermail/javalist/attachments/20061124/b0a1ff16/attachment-0001.bin
További információk a(z) Javalist levelezőlistáról