kestutis

LT symbols in bytes (UTF-8 encoding)

Apr 1st, 2013
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.55 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void printBits(size_t const size, void const * const ptr)
  4. {
  5.     unsigned char *b = (unsigned char*) ptr;
  6.     unsigned char byte;
  7.     int i, j;
  8.  
  9.     for (i=size-1;i>=0;--i)
  10.     {
  11.         for (j=7;j>=0;--j)
  12.         {
  13.             byte = b[i] & (1<<j);
  14.             byte >>= j;
  15.             printf("%u", byte);
  16.         }
  17.         printf(" ");
  18.     }
  19.     puts("");
  20. }
  21. int main() {
  22.     char a[] = "ą";
  23.     printf("%s %lu ", a, sizeof(a));
  24.     printBits(sizeof(a), &a);
  25.     char A[] = "Ą";
  26.     printf("%s %lu ", A, sizeof(a));
  27.     printBits(sizeof(a), &A);
  28.     puts("");
  29.     char c[] = "č";
  30.     printf("%s %lu ", c, sizeof(c));
  31.     printBits(sizeof(c), &c);
  32.     char C[] = "Č";
  33.     printf("%s %lu ", C, sizeof(C));
  34.     printBits(sizeof(C), &C);
  35.     puts("");
  36.  
  37.     char e[] = "ę";
  38.     printf("%s %lu ", e, sizeof(e));
  39.     printBits(sizeof(e), &e);
  40.     char E[] = "Ę";
  41.     printf("%s %lu ", E, sizeof(E));
  42.     printBits(sizeof(E), &E);
  43.     puts("");
  44.  
  45.     char ee[] = "ė";
  46.     printf("%s %lu ", ee, sizeof(ee));
  47.     printBits(sizeof(ee), &ee);
  48.     char EE[] = "Ė";
  49.     printf("%s %lu ", EE, sizeof(EE));
  50.     printBits(sizeof(EE), &EE);
  51.     puts("");
  52.  
  53.     char i[] = "į";
  54.     printf("%s %lu ", i, sizeof(i));
  55.     printBits(sizeof(i), &i);
  56.     char I[] = "Į";
  57.     printf("%s %lu ", I, sizeof(I));
  58.     printBits(sizeof(I), &I);
  59.     puts("");
  60.  
  61.     char s[] = "š";
  62.     printf("%s %lu ", s, sizeof(s));
  63.     printBits(sizeof(s), &s);
  64.     char S[] = "Š";
  65.     printf("%s %lu ", S, sizeof(S));
  66.     printBits(sizeof(S), &S);
  67.     puts("");
  68.  
  69.     char u[] = "ų";
  70.     printf("%s %lu ", u, sizeof(u));
  71.     printBits(sizeof(u), &u);
  72.     char U[] = "Ų";
  73.     printf("%s %lu ", U, sizeof(U));
  74.     printBits(sizeof(U), &U);
  75.     puts("");
  76.  
  77.     char uu[] = "ū";
  78.     printf("%s %lu ", uu, sizeof(uu));
  79.     printBits(sizeof(uu), &uu);
  80.     char UU[] = "Ū";
  81.     printf("%s %lu ", UU, sizeof(UU));
  82.     printBits(sizeof(UU), &UU);
  83.     puts("");
  84.  
  85.     char z[] = "ž";
  86.     printf("%s %lu ", z, sizeof(z));
  87.     printBits(sizeof(z), &z);
  88.     char Z[] = "Ž";
  89.     printf("%s %lu ", Z, sizeof(Z));
  90.     printBits(sizeof(Z), &Z);
  91.  
  92.     return 0;
  93. }
  94.  
  95. >>>>
  96. Rezultatai:
  97. >>>>
  98. ą 3 00000000 10000101 11000100
  99. Ą 3 00000000 10000100 11000100
  100.  
  101. č 3 00000000 10001101 11000100
  102. Č 3 00000000 10001100 11000100
  103.  
  104. ę 3 00000000 10011001 11000100
  105. Ę 3 00000000 10011000 11000100
  106.  
  107. ė 3 00000000 10010111 11000100
  108. Ė 3 00000000 10010110 11000100
  109.  
  110. į 3 00000000 10101111 11000100
  111. Į 3 00000000 10101110 11000100
  112.  
  113. š 3 00000000 10100001 11000101
  114. Š 3 00000000 10100000 11000101
  115.  
  116. ų 3 00000000 10110011 11000101
  117. Ų 3 00000000 10110010 11000101
  118.  
  119. ū 3 00000000 10101011 11000101
  120. Ū 3 00000000 10101010 11000101
  121.  
  122. ž 3 00000000 10111110 11000101
  123. Ž 3 00000000 10111101 11000101
Advertisement
Add Comment
Please, Sign In to add comment