1. C++ / Говнокод #4569

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    //table[0][i] - win1251
    
            table[0][0]=0xA8;
            for (q=192;q<=255;q++) {
                    table[0][q-191]=(byte)q;
            }
            table[0][65]=0xB8;
    
    //table[1][i] - KOI8
    
            table[1][0]=0xB3; table[2][1]=0xE1; table[1][2]=0xE2; table[1][3]=0xF7; table[1][4]=0xE7; table[1][5]=0xE4;
            table[1][6]=0xE5; table[1][7]=0xF6; table[1][8]=0xFA; table[1][9]=0xE9; table[1][10]=0xEA; table[1][11]=0xEB;
            table[1][12]=0xEC; table[1][13]=0xED; table[1][14]=0xEE; table[1][15]=0xEF; table[1][16]=0xF0; table[1][17]=0xF2;
            table[1][18]=0xF3; table[1][19]=0xF4; table[1][20]=0xF5; table[1][21]=0xE6; table[1][22]=0xE8; table[1][23]=0xE3;
            table[1][24]=0xFE; table[1][25]=0xFB; table[1][26]=0xFD; table[1][27]=0xFF; table[1][28]=0xF9; table[1][29]=0xF8;
            table[1][30]=0xFC; table[1][31]=0xE0; table[1][32]=0xF1; table[1][33]=0xC1; table[1][34]=0xC2; table[1][35]=0xD7;
            table[1][36]=0xC7; table[1][37]=0xC4; table[1][38]=0xC5; table[1][39]=0xD6; table[1][40]=0xDA; table[1][41]=0xC9;
            table[1][42]=0xCA; table[1][43]=0xCB; table[1][44]=0xCC; table[1][45]=0xCD; table[1][46]=0xCE; table[1][47]=0xCF;
            table[1][48]=0xD0; table[1][49]=0xD2; table[1][50]=0xD3; table[1][51]=0xD4; table[1][52]=0xD5; table[1][53]=0xC6;
            table[1][54]=0xC8; table[1][55]=0xC3; table[1][56]=0xDE; table[1][57]=0xDB; table[1][58]=0xDD; table[1][59]=0xDF;
            table[1][60]=0xD9; table[1][61]=0xD8; table[1][62]=0xDC; table[1][63]=0xC0; table[1][64]=0xD1; table[1][65]=0xA3;
    
    // table[2][i] - CP866
    
            table[2][0]=0xf0;
            for (q=128;q<=175;q++) {
                    table[2][q-127]=(byte)q;
            }
            for (q=224;q<=239;q++) {
                    table[2][q+49-224]=(byte)q;
            }
            table[2][65]=0xf1;
    
    // table[3][i] - Unicode
    
            table[3][0]=0x01;
            for (q=16;q<=79;q++) {
                    table[3][q-15]=(byte)q;
            }
            table[3][65]=0x51;

    Таблица кодировок.

    Запостил: onto, 09 Ноября 2010

    Комментарии (4) RSS

    • А чё, константных массивов в С++ нету?
      Ответить
    • С юникодом что-то сомнительно. И в KOI как-то попал table[2][1]=0xE1. А вообще, смотрю, вы любите заниматься (byte)оёбством.
      Ответить
      • Кстати, напомните мне, в каком стандарте есть тип byte? Вон в Turbo C/C++ еще bool нету :)
        Ответить
        • в С++ стандартах такого нет. Это скорее всего typedef unsigned char byte
          Ответить

    Добавить комментарий