您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BYTE_TO_ASCII函数代码示例

51自学网 2021-06-01 19:54:18
  C++
这篇教程C++ BYTE_TO_ASCII函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中BYTE_TO_ASCII函数的典型用法代码示例。如果您正苦于以下问题:C++ BYTE_TO_ASCII函数的具体用法?C++ BYTE_TO_ASCII怎么用?C++ BYTE_TO_ASCII使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了BYTE_TO_ASCII函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: PREFIX

static int PTRCALLPREFIX(predefinedEntityName)(const ENCODING *enc, const char *ptr,                             const char *end){  UNUSED(enc);  switch ((end - ptr)/MINBPC(enc)) {  case 2:    if (CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_t)) {      switch (BYTE_TO_ASCII(enc, ptr)) {      case ASCII_l:        return ASCII_LT;      case ASCII_g:        return ASCII_GT;      }    }    break;  case 3:    if (CHAR_MATCHES(enc, ptr, ASCII_a)) {      ptr += MINBPC(enc);      if (CHAR_MATCHES(enc, ptr, ASCII_m)) {        ptr += MINBPC(enc);        if (CHAR_MATCHES(enc, ptr, ASCII_p))          return ASCII_AMP;      }    }    break;  case 4:    switch (BYTE_TO_ASCII(enc, ptr)) {    case ASCII_q:      ptr += MINBPC(enc);      if (CHAR_MATCHES(enc, ptr, ASCII_u)) {        ptr += MINBPC(enc);        if (CHAR_MATCHES(enc, ptr, ASCII_o)) {          ptr += MINBPC(enc);          if (CHAR_MATCHES(enc, ptr, ASCII_t))            return ASCII_QUOT;        }      }      break;    case ASCII_a:      ptr += MINBPC(enc);      if (CHAR_MATCHES(enc, ptr, ASCII_p)) {        ptr += MINBPC(enc);        if (CHAR_MATCHES(enc, ptr, ASCII_o)) {          ptr += MINBPC(enc);          if (CHAR_MATCHES(enc, ptr, ASCII_s))            return ASCII_APOS;        }      }      break;    }  }  return 0;}
开发者ID:dreamzor,项目名称:xsde-cmake,代码行数:55,


示例2: PREFIX

static int PTRCALLPREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,                   const char **badPtr){  ptr += MINBPC(enc);  end -= MINBPC(enc);  for (; HAS_CHAR(enc, ptr, end); ptr += MINBPC(enc)) {    switch (BYTE_TYPE(enc, ptr)) {    case BT_DIGIT:    case BT_HEX:    case BT_MINUS:    case BT_APOS:    case BT_LPAR:    case BT_RPAR:    case BT_PLUS:    case BT_COMMA:    case BT_SOL:    case BT_EQUALS:    case BT_QUEST:    case BT_CR:    case BT_LF:    case BT_SEMI:    case BT_EXCL:    case BT_AST:    case BT_PERCNT:    case BT_NUM:#ifdef XML_NS    case BT_COLON:#endif      break;    case BT_S:      if (CHAR_MATCHES(enc, ptr, ASCII_TAB)) {        *badPtr = ptr;        return 0;      }      break;    case BT_NAME:    case BT_NMSTRT:      if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))        break;      /* fall through */    default:      switch (BYTE_TO_ASCII(enc, ptr)) {      case 0x24: /* $ */      case 0x40: /* @ */        break;      default:        *badPtr = ptr;        return 0;      }      break;    }  }  return 1;}
开发者ID:RTEMS,项目名称:rtems-libbsd,代码行数:55,


示例3: PREFIX

staticint PREFIX(predefinedEntityName)(const ENCODING *enc, const char *ptr, const char *end){	(void)enc;  switch (end - ptr) {  case 2 * MINBPC:    if (CHAR_MATCHES(enc, ptr + MINBPC, 't')) {      switch (BYTE_TO_ASCII(enc, ptr)) {      case 'l':	return '<';      case 'g':	return '>';      }    }    break;  case 3 * MINBPC:    if (CHAR_MATCHES(enc, ptr, 'a')) {      ptr += MINBPC;      if (CHAR_MATCHES(enc, ptr, 'm')) {	ptr += MINBPC;	if (CHAR_MATCHES(enc, ptr, 'p'))	  return '&';      }    }    break;  case 4 * MINBPC:    switch (BYTE_TO_ASCII(enc, ptr)) {    case 'q':      ptr += MINBPC;      if (CHAR_MATCHES(enc, ptr, 'u')) {	ptr += MINBPC;	if (CHAR_MATCHES(enc, ptr, 'o')) {	  ptr += MINBPC;  	  if (CHAR_MATCHES(enc, ptr, 't'))	    return '"';	}      }      break;    case 'a':      ptr += MINBPC;      if (CHAR_MATCHES(enc, ptr, 'p')) {	ptr += MINBPC;	if (CHAR_MATCHES(enc, ptr, 'o')) {	  ptr += MINBPC;  	  if (CHAR_MATCHES(enc, ptr, 's'))	    return '/'';	}      }      break;    }  }  return 0;}
开发者ID:ChakaZulu,项目名称:my_tuxbox_apps,代码行数:53,


示例4: PREFIX

static int PTRFASTCALLPREFIX(charRefNumber)(const ENCODING *enc, const char *ptr){  int result = 0;  /* skip &# */  ptr += 2*MINBPC(enc);  if (CHAR_MATCHES(enc, ptr, ASCII_x)) {    for (ptr += MINBPC(enc);         !CHAR_MATCHES(enc, ptr, ASCII_SEMI);         ptr += MINBPC(enc)) {      int c = BYTE_TO_ASCII(enc, ptr);      switch (c) {      case ASCII_0: case ASCII_1: case ASCII_2: case ASCII_3: case ASCII_4:      case ASCII_5: case ASCII_6: case ASCII_7: case ASCII_8: case ASCII_9:        result <<= 4;        result |= (c - ASCII_0);        break;      case ASCII_A: case ASCII_B: case ASCII_C:      case ASCII_D: case ASCII_E: case ASCII_F:        result <<= 4;        result += 10 + (c - ASCII_A);        break;      case ASCII_a: case ASCII_b: case ASCII_c:      case ASCII_d: case ASCII_e: case ASCII_f:        result <<= 4;        result += 10 + (c - ASCII_a);        break;      }      if (result >= 0x110000)        return -1;    }  }  else {    for (; !CHAR_MATCHES(enc, ptr, ASCII_SEMI); ptr += MINBPC(enc)) {      int c = BYTE_TO_ASCII(enc, ptr);      result *= 10;      result += (c - ASCII_0);      if (result >= 0x110000)        return -1;    }  }  // Some faggots compose mails with ancient control symbols in headers.// Libexpat tokenizer breaks on them (so far 'Form Feed' and 'DC2' were found).  if (result == 0x0C) {    result = 0x0A;  }  else if (result == 0x12) {    result = ' ';  }  return checkCharRefNumber(result);}
开发者ID:serjepatoff,项目名称:libexpat,代码行数:53,


示例5: PREFIX

static int PTRCALLPREFIX (getAtts) (const ENCODING * enc, const char *ptr, int attsMax, ATTRIBUTE * atts) {    enum { other, inName, inValue } state = inName;    int nAtts = 0;    int open = 0;               /* defined when state == inValue;                                   initialization just to shut up compilers */    for (ptr += MINBPC (enc);; ptr += MINBPC (enc)) {        switch (BYTE_TYPE (enc, ptr)) {#define START_NAME /      if (state == other) { /        if (nAtts < attsMax) { /          atts[nAtts].name = ptr; /          atts[nAtts].normalized = 1; /        } /        state = inName; /      }#define LEAD_CASE(n) /    case BT_LEAD ## n: START_NAME ptr += (n - MINBPC(enc)); break;            LEAD_CASE (2) LEAD_CASE (3) LEAD_CASE (4)#undef LEAD_CASE        case BT_NONASCII:        case BT_NMSTRT:        case BT_HEX:            START_NAME break;#undef START_NAME        case BT_QUOT:            if (state != inValue) {                if (nAtts < attsMax)                    atts[nAtts].valuePtr = ptr + MINBPC (enc);                state = inValue;                open = BT_QUOT;            } else if (open == BT_QUOT) {                state = other;                if (nAtts < attsMax)                    atts[nAtts].valueEnd = ptr;                nAtts++;            }            break;        case BT_APOS:            if (state != inValue) {                if (nAtts < attsMax)                    atts[nAtts].valuePtr = ptr + MINBPC (enc);                state = inValue;                open = BT_APOS;            } else if (open == BT_APOS) {                state = other;                if (nAtts < attsMax)                    atts[nAtts].valueEnd = ptr;                nAtts++;            }            break;        case BT_AMP:            if (nAtts < attsMax)                atts[nAtts].normalized = 0;            break;        case BT_S:            if (state == inName)                state = other;            else if (state == inValue                     && nAtts < attsMax                     && atts[nAtts].normalized                     && (ptr == atts[nAtts].valuePtr                         || BYTE_TO_ASCII (enc, ptr) != ASCII_SPACE                         || BYTE_TO_ASCII (enc, ptr + MINBPC (enc)) == ASCII_SPACE                         || BYTE_TYPE (enc, ptr + MINBPC (enc)) == open))                atts[nAtts].normalized = 0;            break;        case BT_CR:        case BT_LF:            /* This case ensures that the first attribute name is counted               Apart from that we could just change state on the quote. */            if (state == inName)                state = other;            else if (state == inValue && nAtts < attsMax)                atts[nAtts].normalized = 0;            break;        case BT_GT:        case BT_SOL:            if (state != inValue)                return nAtts;            break;        default:            break;        }    }    /* not reached */}
开发者ID:kinglulu,项目名称:librsvg,代码行数:90,



注:本文中的BYTE_TO_ASCII函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ BYTE_TYPE函数代码示例
C++ BYTES函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。