Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kod ASCII a polskie znaki.

Ostatnio zmodyfikowano 2015-11-12 16:12
Autor Wiadomość
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ć?
P-139818
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 );
P-139819
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
P-140031
« 1 »
  Strona 1 z 1