Skocz do zawartości
psla

[ansi C] Kodowania

Rekomendowane odpowiedzi

Męczę już kilka dni systemy kodowań, i obawiam się najgorszego :D

 

Muszę napisać konwerter ISO-CP-UTF8, każdy w każdą stronę.

Problem pojawia się, gdy chcę w jakikolwiek sposób przeczytać i przetworzyć utfa.

 

MultiByteToWideChar w ANSI C nie istnieje

 

wchar_t i wint_t zachowują się co najmniej dziwnie, ale na pewno nie dają mi możliwości choćby przeczytania UTFa

wint_t wc;while (WEOF != (wc = getwc(ptr_in))) {printf("wc %lc\n", wc);}if (EILSEQ == errno) {		printf("Napotkano zly znak.\n");		exit(1); }
powoduje wypisanie błędu. próbowałem też czytać binarnie plik i potem cokolwiek z nim zrobić, ale nie bardzo skutkowało..

 

Chciałem uniknąć stosowania iconv. Czy zna ktoś może jakieś metody na czytanie UTFa i potem jego ewentualną konwersję?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Problem rozwikłany ;)

Można zrobić sztuczkę z "setlocale" i konwersją wide->multibyte->wide, natomiast niezupełnie to działa z CP-1250... Więc zostałem przy iconv :-)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...