UNCODE.C
Upload User: szqxhk
Upload Date: 2010-02-15
Package Size: 54k
Code Size: 4k
Development Platform:

Visual C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int array[128]={6,33,34,35,36,37,38,39,5,41,42,43,44,45,46,47,
  4. 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,7,65,66,67,
  5. 68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,
  6. 88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,
  7. 106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,
  8. 121,122,123,124,125,126,127,3,129,130,131,132,133,134,4,
  9. 136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,
  10. 151,152,153,154,155,156,157,158,159};
  11. main( int argc,char * argv[] )
  12. {
  13.   FILE * input_file;
  14.   FILE * output_file;
  15.   unsigned char rackin;
  16.   unsigned char rackout;
  17.   int mask;
  18.   int i,j;
  19.   unsigned char out_char;
  20.   unsigned char bit[8];
  21.   char conclude;
  22.   if( ( input_file=fopen(argv[1],"r"))==NULL )
  23.       printf( "cant open the input_file " );
  24.   output_file=fopen( argv[2],"w" );
  25. for( ; ; ) {
  26.   rackin=getc( input_file );
  27.   conclude=rackin;
  28.   if( conclude==EOF ) break;
  29.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  30.   rackin=i;
  31.   rackout=( rackin<<1 );
  32.   rackin=getc( input_file );
  33.   conclude=rackin;
  34.   if( conclude==EOF ) break;
  35.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  36.   rackin=i;
  37.   bit[0]=rackin & 0x40 ;
  38.   bit[0] >>= 6;
  39.   rackout |= bit[0];
  40.      if( (rackout==128) || (rackout==8) ) rackout=32;   
  41.   putc( rackout,output_file );
  42.   rackout=( rackin<<2 );
  43.   rackin=getc( input_file );
  44.   conclude=rackin;
  45.   if( conclude==EOF ) break;
  46.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  47.   rackin=i;
  48.   bit[1]=rackin & 0x40 ;
  49.   bit[1] >>= 5;
  50.   bit[0]=rackin & 0x20 ;
  51.   bit[0] >>=5 ;
  52.   rackout |= bit[1];
  53.   rackout |= bit[0];
  54.      if( (rackout==128) || (rackout==8) ) rackout=32;       
  55.   putc( rackout,output_file );
  56.   rackout=( rackin<<3 );
  57.   rackin=getc( input_file );
  58.   conclude=rackin;
  59.   if( conclude==EOF ) break;
  60.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  61.   rackin=i;
  62.   bit[2]=rackin & 0x40 ;
  63.   bit[2] >>= 4;
  64.   bit[1]=rackin & 0x20 ;
  65.   bit[1] >>=4 ;
  66.   bit[0]=rackin & 0x10 ;
  67.   bit[0] >>=4 ;
  68.   rackout |= bit[2];
  69.   rackout |= bit[1];
  70.   rackout |= bit[0];
  71.      if( (rackout==128) || (rackout==8) ) rackout=32;   
  72.   putc( rackout,output_file );
  73.   rackout=( rackin<<4 );
  74.   rackin=getc( input_file );
  75.   conclude=rackin;
  76.   if( conclude==EOF ) break;
  77.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  78.   rackin=i;
  79.   bit[3]=rackin & 0x40 ;
  80.   bit[3] >>= 3;
  81.   bit[2]=rackin & 0x20 ;
  82.   bit[2] >>= 3 ;
  83.   bit[1]=rackin & 0x10 ;
  84.   bit[1] >>= 3 ;
  85.   bit[0]=rackin & 0x08 ;
  86.   bit[0] >>= 3 ;
  87.   rackout |= bit[3];
  88.   rackout |= bit[2];
  89.   rackout |= bit[1];
  90.   rackout |= bit[0];
  91.      if( (rackout==128) || (rackout==8) ) rackout=32;     
  92.   putc( rackout,output_file );
  93.   rackout=( rackin<<5 );
  94.   rackin=getc( input_file );
  95.   conclude=rackin;
  96.   if( conclude==EOF ) break;
  97.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  98.   rackin=i;
  99.   bit[4]=rackin & 0x40 ;
  100.   bit[4] >>= 2;
  101.   bit[3]=rackin & 0x20 ;
  102.   bit[3] >>= 2 ;
  103.   bit[2]=rackin & 0x10 ;
  104.   bit[2] >>= 2 ;
  105.   bit[1]=rackin & 0x08 ;
  106.   bit[1] >>= 2 ;
  107.   bit[0]=rackin & 0x04 ;
  108.   bit[0] >>= 2 ;
  109.   rackout |= bit[4];
  110.   rackout |= bit[3];
  111.   rackout |= bit[2];
  112.   rackout |= bit[1];
  113.   rackout |= bit[0];
  114.      if( (rackout==128) || (rackout==8) ) rackout=32;   
  115.   putc( rackout,output_file );
  116.   rackout=( rackin<<6 );
  117.   rackin=getc( input_file );
  118.   conclude=rackin;
  119.   if( conclude==EOF ) break;
  120.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  121.   rackin=i;
  122.   bit[5]=rackin & 0x40 ;
  123.   bit[5] >>= 1;
  124.   bit[4]=rackin & 0x20 ;
  125.   bit[4] >>= 1;
  126.   bit[3]=rackin & 0x10 ;
  127.   bit[3] >>= 1;
  128.   bit[2]=rackin & 0x08 ;
  129.   bit[2] >>= 1;
  130.   bit[1]=rackin & 0x04 ;
  131.   bit[1] >>= 1;
  132.   bit[0]=rackin & 0x02 ;
  133.   bit[0] >>= 1;
  134.   rackout |= bit[5];
  135.   rackout |= bit[4];
  136.   rackout |= bit[3];
  137.   rackout |= bit[2];
  138.   rackout |= bit[1];
  139.   rackout |= bit[0];
  140.      if( (rackout==128) || (rackout==8) ) rackout=32;    
  141.   putc( rackout,output_file );
  142.   rackout=( rackin<<7 );
  143.   rackin=getc( input_file );
  144.   conclude=rackin;
  145.   if( conclude==EOF ) break;
  146.   for( i=0;i<=127;i++ ) if( array[i]==rackin ) break;
  147.   rackin=i;
  148.   rackout |= rackin;
  149.   if( (rackout==128) || (rackout==8) ) rackout=32;   
  150.   putc( rackout,output_file );
  151.   }
  152.   putc(0x0d,output_file );
  153.   putc(0x0a,output_file );
  154.   fclose( output_file );
  155.   fclose( input_file );
  156. }