Unicode

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Lunatix

Betreff: Unicode

BeitragDo, Dez 27, 2007 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Ich habe hier grad ein kleines Problem: Ich bekomme einen String übers Internet gesendet, dieser ist Unicode codiert.
Was hier ankommt ist wie folgt: "57 c3 bc 6e 73 63 68 65 00 W..nsche."
Heissen soll es "Wünsche". Mein problem: Wie lese ich das nun als WString aus? Alles, was ich bisher versuchte war leider Erfolglos...

Ich versuchte es mit einem Short Array:
Code: [AUSKLAPPEN]
Local str:Short Ptr = getWString("wünsche")

Function getWString:Short Ptr(text:String)
   Local str:Short[text.length,2],x:Int,p:Int,pp:Int
   For Local i:Int = 0 Until text.length
      If text[i] < 128
         Print Chr(text[i])
         str[p,x] = text[i]
      Else
         str[p,x] = text[i]
         'If Not i+1=text.length str[p,x] = 65'(text[i]+text[i+1])/2
      EndIf
      x=1-x
      pp:+1
      If pp=2
         pp=0
         p:+1
      EndIf
   Next
   Return Short Ptr str
End Function

Print String.fromWString(short ptr(str))


Auch wie es programmintern gemacht wird:
Code: [AUSKLAPPEN]
Local str:Short[9,2]
str[0,0] = $57
str[0,1] = $c3
str[1,0] = $bc
str[1,1] = $6e
str[2,0] = $73
str[2,1] = $63
str[3,0] = $68
str[3,1] = $65
str[4,0] = $00

Print String.fromWString(short ptr(str))


funktioniert es leider nicht... Habe ich irgendwas übersehen? denn aus $c3 und $bc muss ja irgendwie ein "ü" werden...
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Lunatix

BeitragDo, Dez 27, 2007 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Erledigt.
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Dreamora

BeitragDo, Dez 27, 2007 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
was war die Lösung?

Übrigens brauchts keinen Short Ptr da, Byte Ptr ist ausreichend.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Lunatix

BeitragDo, Dez 27, 2007 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier steht des Rätsels Lösung, ein UTF-8 De/Encodierer: https://www.blitzforum.de/foru...p?p=280123
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group