W jakim celu zmieniono PAnsichar i Pwidechar powyżej wersji 2009?

Odpowiedz Nowy wątek
2011-09-23 18:09

Rejestracja: 9 lat temu

Ostatnio: 3 dni temu

0

Zastanawiam się jaki był cel tej zmiany, że od wersji Delphi 2009 PChar=PWideChar, a nie jak wcześniej PChar=PAnsiChar. Sprawia to dużo problemów przy przenoszeniu kodu napisanego w starszych wersjach Delphi, a chciałbym (i myślę że nie tylko ja) się dowiedzieć czym się kierowali programiści Delphi wprowadzając tą zmianę?

Pozostało 580 znaków

2011-09-23 18:13
Moderator

Rejestracja: 12 lat temu

Ostatnio: 6 minut temu

Lokalizacja: Wrocław

Z Wikipedii:

http://en.wikipedia.org/wiki/Wide_character napisał(a)

A wide character is a computer character datatype that generally has a size greater than the traditional 8-bit character. The increased datatype size allows for the use of larger coded character sets.

Czyli wide obsługuje więcej znaków (właściwie więcej zestawów znaków).


Pozostało 580 znaków

Rev
2011-09-23 18:14
Rev
Moderator

Rejestracja: 13 lat temu

Ostatnio: 3 tygodnie temu

0

Tym, że ANSI to przeżytek i domyślne to ono było, ale w Windows 98. Microsoft od dawna zaleca, żeby aplikacje pracowały wewnętrznie na napisach w kodowaniu UTF-16.


Pozostało 580 znaków

2011-09-24 10:15

Rejestracja: 8 lat temu

Ostatnio: 6 godzin temu

0

Chcieli być bardziej zgodni z systemem operacyjnym Windows, w wypadku wielojęzycznych programów Unicode jest łatwiejszy w obsłudze niż ANSI, problem w tym, że nie samym Windows człowiek żyje.

Najnowsze Delphi umożliwia pisanie programów pod różne systemy, mam nadzieje, że wkrótce zacznie im doskwierać UTF-16 (jako najgorsze możliwe kodowanie Unicode) i dodadzą jakąś opcję do tego.

Dla mnie to była mało strategiczna zagrywka. Równie dobrze mogli zamienić swoje źródła (VCL) z typów domyślnych na UTF-16, a programistom dać wolną rękę.
Zamiast tego postanowili zmienić typy domyślne. W dużym oprogramowaniu takich zagrywek się nie robi.

Np. w Linux domyślnym kodowaniem AFAIK jest UTF-8, które jest zgodne z kodowaniem ANSI i praktycznie nie trzeba w ogóle zmieniać oprogramowania żeby to kodowanie stosować - po prostu jest to kolejna strona kodowa.


Szacuje się, że w Polsce brakuje 50 tys. programistów
edytowany 1x, ostatnio: vpiotr, 2011-09-24 10:18

Pozostało 580 znaków

2011-09-24 11:22

Rejestracja: 16 lat temu

Ostatnio: 30 minut temu

0

Np. w Linux domyślnym kodowaniem AFAIK jest UTF-8, które jest zgodne z kodowaniem ANSI i praktycznie nie trzeba w ogóle zmieniać oprogramowania żeby to kodowanie stosować - po prostu jest to kolejna strona kodowa.
Z wyjątkiem sekwencji BOM, która jest częścią standardu, a przez programy linuksowe obsługiwana źle.
Tak więc obsługa UTF-8 pod Linuksem jest „pod warunkiem że w pliku nie ma BOM”

zacznie im doskwierać UTF-16 (jako najgorsze możliwe kodowanie Unicode)
możesz rozwinąć, dlaczego miałoby?

edytowany 1x, ostatnio: Azarien, 2011-09-24 11:41
Nie znam iOS ani Mac OS X, więc nie wiem jakie są tam zalecenia co do Unicode. Mam tylko nadzieję, że nie UTF-16... Co do BOM/Linux to słabo że nie jest obsługiwany, bo w gruncie rzeczy to żadna filozofia. - vpiotr 2011-09-24 20:51

Pozostało 580 znaków

Odpowiedz

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