Kod ASCII a polskie znaki.
Ostatnio zmodyfikowano 2015-11-12 16:12
LordShadow47 Temat założony przez niniejszego użytkownika |
Kod ASCII a polskie znaki. » 2015-11-08 15:05:09 Witam. Mam problem ze wartościami ASCII dla polskich znaków. Napisałem taki programik do sprawdzania kodu ASCII znaku: #include<stdio.h> int main() { char x; int y; do { scanf("%s",&x); y=x; printf("%i",y); }while(1>0); return 0; } Ale dla polskich znaków są to ujemne liczby np. ą = -71, ć = -26. Czy to normalne? Jeśli nie, to co powinienem zrobić?
|
|
j23 |
» 2015-11-08 15:26:42 Tak, to normalne. Typ char to typ ze znakiem, czyli może przechowywać liczby ujemne. Znaki diakrytyczne w kodowaniu ANSI mają kody powyżej 127, co przy 8-bitowej liczbie ze znakiem oznacza, że mają kody ujemne. A jak chcesz wyświetlić kod znaku jako liczbę nieujemną, to zrób np. tak: printf( "%u",( unsigned char ) x ); |
|
Monika90 |
» 2015-11-12 16:12:16 W ASCII nie ma polskich znaków.
%u jest dla typu unsigned int, dla unsigned char jest %hhu |
|
« 1 » |