Avatar billede janegil Nybegynder
02. oktober 2000 - 15:29 Der er 2 kommentarer og
1 løsning

Unicode XML på NT?

Så vidt jeg kan se bruker Windows NT følgende knep for å se om en fil er UNICODE: Den setter inn hex FFFE (\"ÿþ\") først i fila for å markere at den er kodet i UNICODE.

Dessverre bruker XML et annet knep: Alle XML-filer begynner med \"<?xml\". I unicode begynner det med 3C00 (\"< \", her er vist en slags ombytting, for 003C er unicode for \"<\"), i alle (?) andre tegnsett begynner det med 3C3F (\"<?\").

Spørsmålet: Hvordan får jeg fjernet de 16 uønskede bits i starten av fila, uten å ødelegge UNICODEingen av resten?

(Eksempel: http://lbk.olivant.fo/test/lada.html vises som unicode i IE på NT. Men, fordi den starter med \"ÿþ\" kan ikke W3C\'s validator forstå hvilket tegnsett det er:
http://validator.w3.org/check?uri=http%3A%2F%2Flbk.olivant.fo%2Ftest%2Flada.html

Og jeg kan lure IE og N4.75 til å tro at en streit tekstfil er UNICODE: http://lbk.olivant.fo/test/not-unicode.txt
bare fordi teksten starter med \"ÿþ\".)
Avatar billede jarihj Nybegynder
03. oktober 2000 - 19:10 #1
Prøv at bruge programmet på http://www.geocities.com/jarihj/unicode/

Avatar billede janegil Nybegynder
04. oktober 2000 - 17:10 #2
Ja, det virker.

Men det ser ut til at jeg tar feil, når jeg sier at FFFE i starten av fila er et NT-hack:
http://www.unicode.org/unicode/reports/tr6/index.html#Signature

Kanskje er meningen at webserveren min skulle kjenne igjen FFFE, fjerne den, og sette charset UTF-16 i HTTP-headeren?
Avatar billede janegil Nybegynder
05. oktober 2000 - 11:41 #3
Det er visst ingen vei utenom å kjøpe UNICODE-mnualen. Men NT\'s bruk av 16-bits pr tegn er visst ment for tekster som har bruk for andre tegn enn de 50000 som finnes i 16-bits-delen av UNICODE. Det NT gjemmer som UTF-16, kunne og burde vaært lagret som UTF-8. UTF-8 innholder kinesisk, runer og khmer, så det skal være en rimelig eksotisk tekst for å falle utenfor.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester