Alaska Software Inc. - Unicode2Str()
Username: Password:
AuthorTopic: Unicode2Str()
Jan EscholtUnicode2Str()
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 JuracRe: 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 EscholtRe: 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 HerdtRe: 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

sample.zip