Wide String ? co z tym zrobić ?

0

Dzień dobry :)

W wyniku pewnej operacji na pliku binarnym
otrzymuje string, tyle że stringi w tym pliku
zapisane są chyba jako WideStringi, nie znam się na tym
ale chyba chodzi o to że jeden znak zapisany jest
dwoma bajtami, no i teraz mam pytanie czy jest
jakiś szybki sposób żeby z takiego przykładowego
ciągu #0 + 'k' + #0 + 'o' + #0 + 't' otrzymać 'kot' ?

Wiem że mogę przejechać pętlą i wywalić wszystkie chary 0
ale zastanawia mnie czy nie ma czegoś szybszego, jakiegoś
rzutowania czy jak to tam się zwie ?

0

Hmm a czy mógłbyś podrzucić kawałek kodu... Zawsze będzie łatwiej postawić diagnozę :-8

Można ewentualnie pokombinować przy samym czytaniu z pliku:

buf: array[1..100] of WideChar; // WideChar zamiast Char
f: TFileStream;
a: Integer;
s: String;
...
a:=f.Read(buf,1,100);
s:=Copy(buf,1,a div 2);

--dopisane--

co do tego WideStringToString to śmieszna sprawa; bo teoretycznie można wrzucić w ten sposób

w: WideString;
s: String;
...
s:=w; // po prostu

Niby działa ale nie wiem czy pomoże...

0

WideCharToString?

0

http://home.ccci.org/wolbrink/tntmpd/delphi_unicode_controls_project.htm

przejrzeć unity, a wszystko bedzie jasne (szczególnie system i sysutils, ofcoz te tnt)

0

PieterEr: musi być w stringu...
my_nick: być może nie wiem jak tego użyć, WideStringToString było by bardziej odpowiednie a nie ma...
Johnny_Bit: ok thx, może coś znajdę...

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0