Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

XML sa UTF-16 encodingom

[es] :: XML :: XML sa UTF-16 encodingom
(TOP topic)

[ Pregleda: 10166 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Darko Karamarko
Njivice

Član broj: 23972
Poruke: 3
*.net.htnet.hr



Profil

icon XML sa UTF-16 encodingom05.04.2004. u 14:09 - pre 243 meseci
Problem je sto kreiram xml file iz DOS programa, a to znaci da mi je rezultat ASCII
datoteka, a moram napraviti XML sa navedenim encodingom.
Ima li netko pri ruci konverzijsku tablicu pomocu koje bih, mozda,
mogao kreirati takav file? Htio bih izbjeci neku externu konverziju.
Hvala na svakoj pomoci
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
195.252.85.*

Sajt: localhost


+5 Profil

icon Re: XML sa UTF-16 encodingom05.04.2004. u 17:23 - pre 243 meseci
moraš da daš malo više podataka. recimo, da li će podaci koje izvoziš biti čist ascii, ili će imati neka druga osim engleskih slova (naša?), ili nešto treće..

najlakše je ako je čist ascii. onda treba samo da za svaki ascii karakter dodaš još jedan bajt vrednosti 0.

e sad, i tu ima začkoljica. ta nula može da se dodaje ili pre svakog karaktera, ili posle. to se zove LE i BE (little & big endian).

ako ti nisu odredili unapred koji od ova dva kodinga da koristiš, moraš to da naglasiš takozvanim BOM (byte order mark) karakterom na početku (U+FEFF).


uff, znam da zvuči komplikovano, ali u stvari nije. evo primera, recimo da treba da enkoduješ string "xml je buducnost", i da da prvo ide bajt manje vrednosti. evo kako taj fajl treba izgledati u hex editoru

Code:

FF FE 78 00 6D 00 6C 00 20 00 6A 00 65 00 20 00 62 00 75 00 ...
----- --    --    --    --    --    --    --    --    --    ---
"BOM"  x     m     l   (SP)    j     e   (SP)    b     u  (itd..)


u prevodu, dodaš dva bajta (vrednosti 255 i 254) na početak fajla, i posle svakog karaktera po jedan bajt (vrednost 0)...
 
Odgovor na temu

Darko Karamarko
Njivice

Član broj: 23972
Poruke: 3
*.net.htnet.hr



Profil

icon Re: XML sa UTF-16 encodingom05.04.2004. u 18:05 - pre 243 meseci
Puno si mi pomogao, naročito ovo sa BOM-om!
ASCII datoteku i radim bez naših kvačica da pojednostavim problem.
Riješit ću ovako kako si opisao. Dok uskoro ne dodaju u SW koji prima ovaj XML file mogućnost encodinga UTF-8, a onda, čini mi se, ne moram ništa raditi (ako nema naših kvačica). Jesam li u pravu?
hvala na brzoj pomoći
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
195.252.85.*

Sajt: localhost


+5 Profil

icon Re: XML sa UTF-16 encodingom05.04.2004. u 18:17 - pre 243 meseci
nema na čemu.. ;)

tačno, sa utf8 enkodingom ne moraš ništa da radiš (ni BOM nije potreban), ali samo ako imaš sedmobitne ascii karaktere (0-127).


btw, nisam napomenuo, u prethodnom primeru ako želiš stavljati nule ispred svakog karaktera, onda treba da okreneš BOM (znači prvo FE pa FF)..

 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.comcast.net



+18 Profil

icon Re: XML sa UTF-16 encodingom06.04.2004. u 17:02 - pre 243 meseci
Samo da dodam da je UTF8 'preferred' encoding za stringove sa dosta ASCII slova. ASCII slova zauzimaju samo jedan bajt i human readable su, dok i ostali karakteri mogu da se bez problema zapisu u UTF-8. Znaci ako ti je glavnica XMLa na engleskom ili nasem (latinica), najbolje ti je da izaberes UTF-8.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
195.252.85.*

Sajt: localhost


+5 Profil

icon Re: XML sa UTF-16 encodingom06.04.2004. u 17:34 - pre 243 meseci
ja bih to još uopštio i rekao da bi utf8 trebao da bude preporučeni za sve moguće primene skladištenja i prenosa podataka, čak i kada je ceo text recimo čist kineski (kada će ova reprezentacija biti 2-3 puta duža od minimalne)..

razloga ima mnogo, ali glavni je onaj originalni zbog koga je utf8 i nastao, za čuvanje unikod imena fajlova na "starim" sistemima (koji znaju samo za jednobajtna kodiranja).

ako ime nekog fajla iskodiramo sa utf-16 (recimo NTFS, mada tačnije, tamo je valjda UCS-2), može da se desi da jedan od bajtova u jednom od karaktera ima vrednost 0x13 ili 0x10 (ili kod bilo kog drugog spec karaktera koji ne bi smeo da se nađe u imenu fajla, npr slash, dvotačka ili backslash).

kada tom istom fajlu pristupite iz nekog programa starijeg od samog unicode standarda, biće belaja..

zato je utf8 zakon, jer su spec karakteri isti kao u običnom ASCIIju, a svi ostali se kodiraju iznad 127. karaktera, i ne remete rad ni jedne stare aplikacije.

naravno, ta aplikacija će dobiti string pun "đubreta", ali ipak validnog đubreta koje neće smetati nikome. oni "važni" karakteri recimo za putanje fajlova (sleševi, backsleševi i tačke) će ostati isti, pa će i stara aplikacija moći da funkcioniše pravilno..
 
Odgovor na temu

Darko Karamarko
Njivice

Član broj: 23972
Poruke: 3
*.net.htnet.hr



Profil

icon Re: XML sa UTF-16 encodingom06.04.2004. u 19:26 - pre 243 meseci
Drago mi je da potvrđujete moja razmišljanja. SW koji učitava xml file trenutno prihvaća samo UTF-16, a sada nakon mojih prigovora, napravit će verziju sa prihvaćanjem oba UTF-a. Jer zaista nema nikakve stvarne potrebe za UTF-16,
bitni podaci razmjene su kodovi, a popratni podaci sa nazivima koji mogu imati naše kvačice konvertiram u iste bez kvačica. UTF-8 je zaista idealan za ovo.

hvala dečki i pozdrav s mora
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: XML sa UTF-16 encodingom06.04.2004. u 19:56 - pre 243 meseci
Citat:
-zombie-:
sa utf-16 (recimo NTFS, mada tačnije, tamo je valjda UCS-2)


Čini mi se da sam negde čitao da XP i noviji sistemi prepoznaju i surogate, ali nemojte da me držite za reč.

 
Odgovor na temu

[es] :: XML :: XML sa UTF-16 encodingom
(TOP topic)

[ Pregleda: 10166 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.