⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jis.c

📁 我搜集到的一个java常用类库的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
      case FF :        break;      default :        if ISEUC(p1) {          p2 = getc(in);          if ISEUC(p2) {            p1 -= 128;            p2 -= 128;            jis2sjis(&p1,&p2);          }          fprintf(out,"%c%c",p1,p2);        }        else if (p1 == 142) {          p2 = getc(in);          if HANKATA(p2) {            if (tofullsize) {              p1 = p2;              han2zen(in,&p1,&p2,incode);              fprintf(out,"%c%c",p1,p2);            }            else {              p1 = p2;              fprintf(out,"%c",p1);            }          }          else            fprintf(out,"%c%c",p1,p2);        }        else          fprintf(out,"%c",p1);        break;    }  }} void seven2shift(FILE *in,FILE *out){  int shifted_in,temp,p1,p2;   shifted_in = FALSE;  while ((p1 = getc(in)) != EOF) {    switch (p1) {      case ESC :        temp = getc(in);        SkipESCSeq(in,temp,&shifted_in);        break;      case FF :        break;      default :        if (shifted_in) {          p2 = getc(in);          jis2sjis(&p1,&p2);          fprintf(out,"%c%c",p1,p2);        }        else          fprintf(out,"%c",p1);        break;    }  }}  void seven2euc(FILE *in,FILE *out){  int shifted_in,temp,p1,p2;   shifted_in = FALSE;  while ((p1 = getc(in)) != EOF) {    switch (p1) {      case ESC :        temp = getc(in);        SkipESCSeq(in,temp,&shifted_in);        break;      case NL :        if (shifted_in) {          shifted_in = FALSE;        }        fprintf(out,"%c",p1);        break;      case FF :        break;      default :        if (shifted_in) {          p2 = getc(in);          p1 += 128;          p2 += 128;          fprintf(out,"%c%c",p1,p2);        }        else          fprintf(out,"%c",p1);        break;    }  }} void seven2seven(FILE *in,FILE *out,int outcode){  int shifted_in,temp,p1,p2;   shifted_in = FALSE;  while ((p1 = getc(in)) != EOF) {    switch (p1) {      case ESC :        temp = getc(in);        SkipESCSeq(in,temp,&shifted_in);        if (shifted_in)          KanjiIn(out,outcode);        else          KanjiOut(out,outcode);        break;      case NL :        if (shifted_in) {          shifted_in = FALSE;          KanjiOut(out,outcode);        }        fprintf(out,"%c",p1);        break;      case FF :        break;      default :        if (shifted_in) {          p2 = getc(in);          fprintf(out,"%c%c",p1,p2);        }        else          fprintf(out,"%c",p1);        break;    }  }  if (shifted_in)    KanjiOut(out,outcode);} void euc2euc(FILE *in,FILE *out,int incode,int tofullsize){  int p1,p2;   while ((p1 = getc(in)) != EOF) {    switch (p1) {      case FF :        break;      default :        if ISEUC(p1) {          p2 = getc(in);          if ISEUC(p2)            fprintf(out,"%c%c",p1,p2);        }        else if (p1 == 142) {          p2 = getc(in);          if (HANKATA(p2) && (tofullsize)) {            p1 = p2;            han2zen(in,&p1,&p2,incode);            sjis2jis(&p1,&p2);            p1 += 128;            p2 += 128;          }          fprintf(out,"%c%c",p1,p2);        }        else          fprintf(out,"%c",p1);        break;    }  }} void shift2shift(FILE *in,FILE *out,int incode,int tofullsize){  int p1,p2;    while ((p1 = getc(in)) != EOF) {    switch (p1) {      case CR :      case NL :        fprintf(out,"%c",NL);        break;      case NUL :      case FF :        break;      default :        if SJIS1(p1) {          p2 = getc(in);          if SJIS2(p2)            fprintf(out,"%c%c",p1,p2);        }        else if (HANKATA(p1) && (tofullsize)) {          han2zen(in,&p1,&p2,incode);          fprintf(out,"%c%c",p1,p2);        }        else          fprintf(out,"%c",p1);        break;    }  }} int DetectCodeType(FILE *in){  int p1,p2,p3,whatcode;   whatcode = NOT_SET;  while (((p1 = getc(in)) != EOF) &&  ((whatcode == NOT_SET) || (whatcode == EUC))) {    if (p1 == ESC) {      p2 = getc(in);      if (p2 == '$') {        p3 = getc(in);        if (p3 == 'B')          whatcode = NEW;        else if (p3 == '@')          whatcode = OLD;      }      else if (p2 == 'K')        whatcode = NEC;    }    else if ((p1 >= 129) && (p1 <= 254)) {      p2 = getc(in);      if NOTEUC(p1,p2)        whatcode = SJIS;      else if (ISEUC(p1) && ISEUC(p2))        whatcode = EUC;      else if (((p1 == 142)) && HANKATA(p2))        whatcode = EUC;    }  }  return whatcode;} void han2zen(FILE *in,int *one,int *two,int incode){  int junk,maru,nigori;   maru = nigori = FALSE;  if (incode == SJIS) {    *two = getc(in);    if (*two == 222) {      if (ISNIGORI(*one) || (*one == 179))        nigori = TRUE;      else        ungetc(*two,in);    }    else if (*two == 223) {      if ISMARU(*one)        maru = TRUE;      else        ungetc(*two,in);    }    else      ungetc(*two,in);  }  else if (incode == EUC) {    junk = getc(in);    if (junk == 142) {      *two = getc(in);      if (*two == 222) {        if (ISNIGORI(*one) || (*one == 179))          nigori = TRUE;        else {          ungetc(*two,in);          ungetc(junk,in);        }      }      else if (*two == 223) {        if ISMARU(*one)          maru = TRUE;        else {          ungetc(*two,in);          ungetc(junk,in);        }      }      else {        ungetc(*two,in);        ungetc(junk,in);      }    }    else      ungetc(junk,in);  }  switch (*one) {    case 161 :      *one = 129;      *two = 66;      break;    case 162 :      *one = 129;      *two = 117;      break;    case 163 :      *one = 129;      *two = 118;      break;    case 164 :      *one = 129;      *two = 65;      break;    case 165 :      *one = 129;      *two = 69;      break;    case 166 :      *one = 131;      *two = 146;      break;    case 167 :      *one = 131;      *two = 64;      break;    case 168 :      *one = 131;      *two = 66;      break;    case 169 :      *one = 131;      *two = 68;      break;    case 170 :      *one = 131;      *two = 70;      break;    case 171 :      *one = 131;      *two = 72;      break;    case 172 :      *one = 131;      *two = 131;      break;    case 173 :      *one = 131;      *two = 133;      break;    case 174 :      *one = 131;      *two = 135;      break;    case 175 :      *one = 131;      *two = 98;      break;    case 176 :      *one = 129;      *two = 91;      break;    case 177 :      *one = 131;      *two = 65;      break;    case 178 :      *one = 131;      *two = 67;      break;    case 179 :      *one = 131;      *two = 69;      break;    case 180 :      *one = 131;      *two = 71;      break;    case 181 :      *one = 131;      *two = 73;      break;    case 182 :      *one = 131;      *two = 74;      break;    case 183 :      *one = 131;      *two = 76;      break;    case 184 :      *one = 131;      *two = 78;      break;    case 185 :      *one = 131;      *two = 80;      break;    case 186 :      *one = 131;      *two = 82;      break;    case 187 :      *one = 131;      *two = 84;      break;    case 188 :      *one = 131;      *two = 86;      break;    case 189 :      *one = 131;      *two = 88;      break;    case 190 :      *one = 131;      *two = 90;      break;    case 191 :      *one = 131;      *two = 92;      break;    case 192 :      *one = 131;      *two = 94;      break;    case 193 :      *one = 131;      *two = 96;      break;    case 194 :      *one = 131;      *two = 99;      break;    case 195 :      *one = 131;      *two = 101;      break;    case 196 :      *one = 131;      *two = 103;      break;    case 197 :      *one = 131;      *two = 105;      break;    case 198 :      *one = 131;      *two = 106;      break;    case 199 :      *one = 131;      *two = 107;      break;    case 200 :      *one = 131;      *two = 108;      break;    case 201 :      *one = 131;      *two = 109;      break;    case 202 :      *one = 131;      *two = 110;      break;    case 203 :      *one = 131;      *two = 113;      break;    case 204 :      *one = 131;      *two = 116;      break;    case 205 :      *one = 131;      *two = 119;      break;    case 206 :      *one = 131;      *two = 122;      break;    case 207 :      *one = 131;      *two = 125;      break;    case 208 :      *one = 131;      *two = 126;      break;    case 209 :      *one = 131;      *two = 128;      break;    case 210 :      *one = 131;      *two = 129;      break;    case 211 :      *one = 131;      *two = 130;      break;    case 212 :      *one = 131;      *two = 132;      break;    case 213 :      *one = 131;      *two = 134;      break;    case 214 :      *one = 131;      *two = 136;      break;    case 215 :      *one = 131;      *two = 137;      break;    case 216 :      *one = 131;      *two = 138;      break;    case 217 :      *one = 131;      *two = 139;      break;    case 218 :      *one = 131;      *two = 140;      break;    case 219 :      *one = 131;      *two = 141;      break;    case 220 :      *one = 131;      *two = 143;      break;    case 221 :      *one = 131;      *two = 147;      break;    case 222 :      *one = 129;      *two = 74;      break;    case 223 :      *one = 129;      *two = 75;      break;  }  if (nigori) {    if (((*two >= 74) && (*two <= 103)) || ((*two >= 110) && (*two <= 122)))      (*two)++;    else if ((*one == 131) && (*two == 69))      *two = 148;  }  else if ((maru) && ((*two >= 110) && (*two <= 122)))    *two += 2;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -