 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 14.08.2007, 12:46 Titel: UTF-32 in FreeBasic geht das? |
|
|
Hallo erstmal,
ich wollte einen 32-bit Wert, also einen Integer, als Zeichen in eine Datei schreiben. Nun habe ich irgendwo gelesen, dass FreeBasic nur mit ASCII Zeichen auskommt. Gibt es trotzdem eine Möglichkeit in FreeBasic mit UTF-32 Zeichen zu arbeiten oder ist das nicht Möglich?
Mfg Caran |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 14.08.2007, 19:47 Titel: |
|
|
Hi,
gehen tut es evtl. aber wird bestimmt kompliziert.
Ein einfacher Weg ist:
Code: | Dim erg As String
Dim As Uinteger n, m
n = &H34567890
erg = MKL(n)
?erg
m = CVL(erg)
?m, Hex(m, 8) |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 14.08.2007, 20:30 Titel: |
|
|
Hi, es ist natuerlich moeglich auch UTF-32 in ASCII zu konvertieren, allerdings nicht ohne groesseren Aufwandt...
am besten siehst Du dir mal die "utf_conv.bi" in deinem INC verzeichniss an,
laut den Funktionen sollen unter anderem auch UTF-32 moeglich sein,
leider habe ich gerade keine Beispiele in UTF-32, da ich bisher nur mit UTF-8 gearbeitet habe, dafuer arbeiten die Funktionen schon recht gut, auch wenn ich da offensichtlich noch ein paar kleinere Fehler habe....
vielleicht helfen Dir auch diese beiden Funktionen etwas weiter...
wie gesagt, ist da noch irgendwo ein Fehler, aber mit UTF-8 funktioniert es schon recht gut...
Code: |
enum myUTF_ENCOD
myUTF_ENCOD_ASCII
myUTF_ENCOD_UTF8
myUTF_ENCOD_UTF16
myUTF_ENCOD_UTF32
end enum
Declare Function myCharToUTF Cdecl Alias "fb_CharToUTF" _
( Byval encod As Integer, _
Byval src As Zstring Ptr, _
Byval chars As Integer, _
Byval dst As Any Ptr, _
Byval bytes As Integer Ptr ) As Any Ptr
Declare Function myUTFToChar Cdecl Alias "fb_UTFToChar" _
( Byval encod As Integer, _
Byval src As Any Ptr, _
Byval dst As Zstring Ptr, _
Byval chars As Integer Ptr ) As Zstring Ptr
Declare Function myASCII2UTF (Byval ConvertString As String) As String
Declare Function myUTF2ASCII (Byval ConvertString As String, _
Byval ENCOD as Integer) As String
Function myASCII2UTF (Byval ConvertString As String) As String
Dim As Zstring Ptr pZ
Dim As Zstring Ptr pR
Dim As Integer lS
Dim As Integer Ptr pI
lS = Len(ConvertString)
pI = Callocate(4)
pR = Callocate(4 * lS)
pZ = Strptr(ConvertString)
myCharToUTF( 1, pZ, lS, pR, pI)
pR = Reallocate(pR, *pI)
Function = *pR
Deallocate pI
Deallocate pR
End Function
Function myUTF2ASCII (Byval ConvertString As String, byval ENCOD as Integer) As String
Dim As Zstring Ptr pZ
Dim As Zstring Ptr pR
Dim As Integer lS
Dim As Integer Ptr pI
lS = Len(ConvertString)
pI = @lS
pR = Callocate(lS)
pZ = Strptr(ConvertString)
myUTFToChar( ENCOD, pZ, pR, pI)
pR = Reallocate(pR, *pI)
Function = *pR
Deallocate pI
Deallocate pR
End Function
|
_________________
 |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 15.08.2007, 11:25 Titel: |
|
|
Hey Leute,
danke für die hilfreichen Antworten.
MfG Caran |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|