URI

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

URI

Beitrag von AUGE_OHR »

hi,

wenn ich den VLC Player benutze möchte er es in URI Syntax haben auch wenn das File "lokal" vorliegt

Code: Alles auswählen

file://
wenn ich nun XbpFileDialog() benutze könnte ich auch "Umlaute" im Path / Filenamen haben.

diese "konvertiere" ich nun so :

Code: Alles auswählen

FUNCTION ConvDE2Uri(uri)
LOCAL cRet := ""
LOCAL i,iMax
LOCAL cPart
LOCAL cAnsi := Chr(196)+Chr(228)+Chr(214)+Chr(246)+Chr(220)+Chr(252)

   iMax := LEN(uri)
   FOR i := 1 TO iMax
      cPart := SUBSTR(uri,i,1)
      IF cPart $ cAnsi
         DO CASE
            CASE cPart = Chr(196) ; cRet += "%C3%84"
            CASE cPart = Chr(228) ; cRet += "%C3%A4"
            CASE cPart = Chr(214) ; cRet += "%C3%96"
            CASE cPart = Chr(246) ; cRet += "%C3%B6"
            CASE cPart = Chr(220) ; cRet += "%C3%9C"
            CASE cPart = Chr(252) ; cRet += "%C3%BC"
         ENDCASE
      ELSE
         cRet += cPart
      ENDIF
   NEXT
RETURN cRet
das sind nun "nur" die "Umlaute" die ich gefunden habe.
mir "fehlt" z.b. das "ß" ?

Frage : was gibt es noch was man "beachten" sollte ?
wie sieht es mit Sonderzeichen in anderen Sprachen aus ?
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: URI

Beitrag von Koverhage »

Code: Alles auswählen

function cDos2Win(cDos)
 DEFAULT cDos := " "
 if !empty(cDos)
    // Erst die Sonderzeichen
    cDos := STRTRAN( cDos,CHR(213),CHR(128) )   // Euro Zeichen
    cDos := STRTRAN( cDos,CHR(253),CHR(178) )   // mý
    cDos := STRTRAN( cDos,CHR(252),CHR(179) )   // mü
    cDos := STRTRAN( cDos,CHR(245),CHR(167) )   // õ
    cDos := STRTRAN( cDos,CHR(248),CHR(176) )   // ø
    // dann die Umlaute
    cDos := STRTRAN( cDos,CHR(142),CHR(196) )   // Ž
    cDos := STRTRAN( cDos,CHR(132),CHR(228) )   // „
    cDos := STRTRAN( cDos,CHR(153),CHR(214) )   // ™
    cDos := STRTRAN( cDos,CHR(148),CHR(246) )   // ”
    cDos := STRTRAN( cDos,CHR(154),CHR(220) )   // š
    cDos := STRTRAN( cDos,CHR(129),CHR(252) )   // 
    cDos := STRTRAN( cDos,CHR(225),CHR(223) )   // á
    cDos := STRTRAN( cDos,CHR(130),CHR(233) )   // ‚
    cDos := STRTRAN( cDos,CHR(144),CHR(201) )   // 
    cDos := STRTRAN( cDos,CHR(138),CHR(232) )   // Š
    cDos := STRTRAN( cDos,CHR(160),CHR(225) )   //  
    cDos := STRTRAN( cDos,CHR(181),CHR(193) )   // µ
    cDos := STRTRAN( cDos,CHR(212),CHR(200) )   // Ô
 endif
return cDos
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: URI

Beitrag von brandelh »

Hi,

Jimmy hängt oben immer ein C3 davor, das sieht mir nach UTF-8 aus oder ?
Pablo hat doch Funktionen die sowohl nach UTF-16 (Wide) also auch nach UTF-8 umsetzen.
Diese nutzen die Windows-API was sicherer ist als eine eigene (unvollständige) Liste.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: URI

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Jimmy hängt oben immer ein C3 davor, das sieht mir nach UTF-8 aus oder ?
ich habe nach "URI" und "Umlaute" gesucht und bin über "%-Darstellung" an die "2-Byte-UTF-8-Zeichen" gekommen.
brandelh hat geschrieben:Pablo hat doch Funktionen die sowohl nach UTF-16 (Wide) also auch nach UTF-8 umsetzen.
Diese nutzen die Windows-API was sicherer ist als eine eigene (unvollständige) Liste.
ich habe die Frage jetzt mal bei Pablo rein gestellt.
gruss by OHR
Jimmy
Antworten