Author | Topic: Unicode2Str() | |
---|---|---|
![]() | Jan Escholt | Unicode2Str() on Thu, 25 Dec 2014 18:01:19 +0100 Die Doku sagt, das "For example, character strings using UTF-8 encoding or Little Endian byte-ordering cannot be converted using the Unicode2Str() function". Wie also kann ich dann UTF8 nach ANSI konvertieren? Ich finde jedenfalls in der Doku keine passende Funktion dafür. Jan |
![]() | Matej Jurac | Re: Unicode2Str() on Mon, 29 Dec 2014 11:06:41 +0100 Schau unter "String functions" Section von ot4xb: http://www.xbwin.com/ot4xbXHlp/ Jan Escholt wrote in message news:75e6d94d$61ef2f27$d2cd3@news.alaska-software.com... >Die Doku sagt, das "For example, character strings using UTF-8 encoding >or Little Endian byte-ordering cannot be converted using the >Unicode2Str() function". Wie also kann ich dann UTF8 nach ANSI >konvertieren? Ich finde jedenfalls in der Doku keine passende Funktion >dafür. > >Jan |
![]() | Jan Escholt | Re: Unicode2Str() on Mon, 29 Dec 2014 11:52:17 +0100 Hallo, ich suche aber die Funktion in Xbase++. Ich mußte leider feststellen, das viele Funktionen in ot4xb viel zu langsam sind. Außerdem habe ich bereits eine selbst geschriebene Funktion, die die Konvertierung sehr schnell und sauber macht. Aber die grundlegende Funktion gibt es ja in Xbase++ - aber leider eben unvollständig. Entweder fehlt das wirklich noch, oder es ist (wie so vieles Neues) noch undokumentiert. Jan Am 29.12.2014 um 11:06 schrieb "Matej Jurac": > Schau unter "String functions" Section von ot4xb: > > http://www.xbwin.com/ot4xbXHlp/ > > > > Jan Escholt wrote in message > news:75e6d94d$61ef2f27$d2cd3@news.alaska-software.com... >> Die Doku sagt, das "For example, character strings using UTF-8 encoding >> or Little Endian byte-ordering cannot be converted using the >> Unicode2Str() function". Wie also kann ich dann UTF8 nach ANSI >> konvertieren? Ich finde jedenfalls in der Doku keine passende Funktion >> dafür. >> >> Jan |
![]() | Andreas Herdt | Re: Unicode2Str() on Mon, 05 Jan 2015 18:07:22 +0100 Hallo Jan, Für eine Konvertierung von UTF8 --> ANSI ist die Funktion Unicod2Str() nicht geeignet. UTF8 ist eben nicht UTF16. Bitte schau dir die Beispiel Implementierung im Attachment an. Diese benutzt WideCharToMultibyte und MultibyteToWideChar um ein UTF8 String zunächst in ein Doublebyte Character zu konvertieren und dann nach ANSI. Bei genannten Funktionen handelt es sich um Windows APIs. Unsere Tests hier haben gezeigt, dass die im Beispiel implementierten Funktionen orthogonal sind. Das heisst, was man in die Eine Funktion reinsteckt wird durch die andere Funktione geliefert. Hinweis: Unicode2Str() und Str2Unicode() benutzt ebenfalls die genannten Windows API Funktionen MultibyteToWideChar() und WideCharToMultibyte() Wir haben das Beispiel nur mit einer ANSI Anwendung geprüft. Ich hoffe, das hilft dir weiter. Mit freundlichen Grüssen, Andreas Herdt Alaska Software -------------------------------------------------------------------- Technical Support: support@alaska-software.com News Server: news.alaska-software.com Homepage: http://www.alaska-software.com WebKnowledgeBase: http://www.alaska-software.com/kbase.shtm Fax European Office: +49 (0) 61 96 - 77 99 99 23 Fax US Office: +1 (646) 218 1281 -------------------------------------------------------------------- "Jan Escholt" wrote in message news:1d0dfcd4$619078f3$144f3f@news.alaska-software.com... > Hallo, > > ich suche aber die Funktion in Xbase++. Ich mußte leider feststellen, das > viele Funktionen in ot4xb viel zu langsam sind. Außerdem habe ich bereits > eine selbst geschriebene Funktion, die die Konvertierung sehr schnell und > sauber macht. > > Aber die grundlegende Funktion gibt es ja in Xbase++ - aber leider eben > unvollständig. Entweder fehlt das wirklich noch, oder es ist (wie so > vieles Neues) noch undokumentiert. > > Jan > > Am 29.12.2014 um 11:06 schrieb "Matej Jurac": >> Schau unter "String functions" Section von ot4xb: >> >> http://www.xbwin.com/ot4xbXHlp/ >> >> >> >> Jan Escholt wrote in message >> news:75e6d94d$61ef2f27$d2cd3@news.alaska-software.com... >>> Die Doku sagt, das "For example, character strings using UTF-8 encoding >>> or Little Endian byte-ordering cannot be converted using the >>> Unicode2Str() function". Wie also kann ich dann UTF8 nach ANSI >>> konvertieren? Ich finde jedenfalls in der Doku keine passende Funktion >>> dafür. >>> >>> Jan ![]() |