oogjes open, snaveltjes dicht
oogjes open, snaveltjes dicht
oogjes open, snaveltjes dicht
Meer info.....
oogjes open, snaveltjes dicht
is dus onzinnig. Je hebt nog geen karakterAls ik de data binnen krijg, sla ik het binair op, en dan is het karakter dus al zo gecodeerd.
De correcte oplossing is inderdaad je XML header binair parsen, daar de encoding uit halen. Dat is mogelijk zonder dat je de encoding weet, omdat de header alleen maar de ASCII-subset gebruik, en geen NUL karakter bevat. Elke 0 byte is dus een onderdeel van een groter karakter.
Als je die encoding hebt, dan kun je vervolgens daarmee het hele bericht vertalen van bytes naar (Unicode) karakters.
Je weet blijkbaar al dat het UTF-8 is. In dat geval is het vrij duidelijk: UTF-8 heeft geen 1-byte karakters >= 80h. 89h is dus geen UTF-8 karakter, en dus ook geen ë. Ik weet niet waarom je eerste post dat suggereert. C2,89 is een valide UTF-8 karakter. Het formaat is 110yyyyy 10xxxxxx, unicode waarde is dan yyyyyxxxxxx, in dit geval is yyyyy=00010, xxxxxx=001001 dus het is karakter 00000000 10001001 ==U+0089 en dat is wel ë
Table 3-6. Well-Formed UTF-8 Byte Sequences
| Code Points | 1st Byte | 2nd Byte | 3rd Byte | 4th Byte |
| U+0000..U+007F | 00..7F | |||
| U+0080..U+07FF | C2..DF | 80..BF | ||
| U+0800..U+0FFF | E0 | A0..BF | 80..BF | |
| U+1000..U+CFFF | E1..EC | 80..BF | 80..BF | |
| U+D000..U+D7FF | ED | 80..9F | 80..BF | |
| U+E000..U+FFFF | EE..EF | 80..BF | 80..BF | |
| U+10000..U+3FFFF | F0 | 90..BF | 80..BF | 80..BF |
| U+40000..U+FFFFF | F1..F3 | 80..BF | 80..BF | 80..BF |
| U+100000..U+10FFFF | F4 | 80..8F | 80..BF | 80..BF |
[ Voor 35% gewijzigd door MSalters op 05-04-2005 14:11 . Reden: tabelletje ]
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
oogjes open, snaveltjes dicht
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
oogjes open, snaveltjes dicht
Je moet nagaan wat de charset was toen je het xml bericht maakte, via welke charset hij geconverteerd is naar binaire vorm en via welke charset hij terugvertaald is naar tekstvorm.
Deze fout komt helaas in heel veel systemen voor.
Java zal wel een xml in Unicode aanleveren en je zal het wel displayen in UTF-8, hierdoor veranderen vreemde tekens in vierkantjes. Download TextPad bijvoorbeeld eens en speel es met de charsets ...
[ Voor 8% gewijzigd door vinnux op 05-04-2005 14:51 ]
ADO streams zijn uit m'n hoofd karakterstreams, terwijl we net hadden vastgesteld dat je geen karakters hebt.Don Facundo schreef op dinsdag 05 april 2005 @ 14:39:
Ik gebruik een ado stream om het binair bestand op te slaan, maar IE lust het ook niet, nog steeds niet de goede karakters.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
Helaas, klok en klepel. Unicode is geen encoding, maar een code point assignment. Daarin staat bijvoorbeeld dat het karakter U+00000089 een ë is. De volgende vraag is hoe je U+00000089 overstuurt. De simpele methode is 4 bytes, namelijk 0x00000089. Dat is wel bekend als UTF-32 encoding. Voor tekst die voornamelijk ASCII is, is het effectiever om een UTF-8 encoding te gebruiken, en die is terug te vinden in de tabel die ik eerder postte.vgouw schreef op dinsdag 05 april 2005 @ 14:50:
Java zal wel een xml in Unicode aanleveren en je zal het wel displayen in UTF-8, hierdoor veranderen vreemde tekens in vierkantjes. Download TextPad bijvoorbeeld eens en speel es met de charsets ...
En voor alle duidelijkheid: in Unicode zijn er geen vrijwel geen "vreemde tekens" meer.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
Is het uberhaupt wel te doen dan in VBScript vraag ik me af... Volgens mij krijg ik van de Response.BinaryRead een SafeArray terug, en moet ik een recht toe recht aan ByteArray hebben om deze te converteren?MSalters schreef op dinsdag 05 april 2005 @ 15:44:
[...]
ADO streams zijn uit m'n hoofd karakterstreams, terwijl we net hadden vastgesteld dat je geen karakters hebt.
Pffffff
oogjes open, snaveltjes dicht
Altijd mogelijk, soms moeilijk. De worst-case is dat je zelf de tabel implementeert die ik daarboven heb aangehaald.Don Facundo schreef op dinsdag 05 april 2005 @ 16:39:
[...]
Is het uberhaupt wel te doen dan in VBScript vraag ik me af... Volgens mij krijg ik van de Response.BinaryRead een SafeArray terug, en moet ik een recht toe recht aan ByteArray hebben om deze te converteren?
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
oogjes open, snaveltjes dicht