亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? encoding.c.svn-base

?? 這是一個用于解析xml文件的類庫。使用這個類庫
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
		*outlen = out - outstart;		*inlenb = processed - inb;	        return(-2);	    }        }	/* assertion: c is a single UTF-4 value */        if (out >= outend)	    break;        if      (c <    0x80) {  *out++=  c;                bits= -6; }        else if (c <   0x800) {  *out++= ((c >>  6) & 0x1F) | 0xC0;  bits=  0; }        else if (c < 0x10000) {  *out++= ((c >> 12) & 0x0F) | 0xE0;  bits=  6; }        else                  {  *out++= ((c >> 18) & 0x07) | 0xF0;  bits= 12; }         for ( ; bits >= 0; bits-= 6) {            if (out >= outend)	        break;            *out++= ((c >> bits) & 0x3F) | 0x80;        }	processed = (const unsigned char*) in;    }    *outlen = out - outstart;    *inlenb = processed - inb;    return(0);}#ifdef LIBXML_OUTPUT_ENABLED/** * UTF8ToUTF16LE: * @outb:  a pointer to an array of bytes to store the result * @outlen:  the length of @outb * @in:  a pointer to an array of UTF-8 chars * @inlen:  the length of @in * * Take a block of UTF-8 chars in and try to convert it to an UTF-16LE * block of chars out. * * Returns the number of bytes written, or -1 if lack of space, or -2 *     if the transcoding failed.  */static intUTF8ToUTF16LE(unsigned char* outb, int *outlen,            const unsigned char* in, int *inlen){    unsigned short* out = (unsigned short*) outb;    const unsigned char* processed = in;    const unsigned char *const instart = in;    unsigned short* outstart= out;    unsigned short* outend;    const unsigned char* inend= in+*inlen;    unsigned int c, d;    int trailing;    unsigned char *tmp;    unsigned short tmp1, tmp2;    /* UTF16LE encoding has no BOM */    if (in == NULL) {	*outlen = 0;	*inlen = 0;	return(0);    }    outend = out + (*outlen / 2);    while (in < inend) {      d= *in++;      if      (d < 0x80)  { c= d; trailing= 0; }      else if (d < 0xC0) {          /* trailing byte in leading position */	  *outlen = (out - outstart) * 2;	  *inlen = processed - instart;	  return(-2);      } else if (d < 0xE0)  { c= d & 0x1F; trailing= 1; }      else if (d < 0xF0)  { c= d & 0x0F; trailing= 2; }      else if (d < 0xF8)  { c= d & 0x07; trailing= 3; }      else {	/* no chance for this in UTF-16 */	*outlen = (out - outstart) * 2;	*inlen = processed - instart;	return(-2);      }      if (inend - in < trailing) {          break;      }       for ( ; trailing; trailing--) {          if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80))	      break;          c <<= 6;          c |= d & 0x3F;      }      /* assertion: c is a single UTF-4 value */        if (c < 0x10000) {            if (out >= outend)	        break;	    if (xmlLittleEndian) {		*out++ = c;	    } else {		tmp = (unsigned char *) out;		*tmp = c ;		*(tmp + 1) = c >> 8 ;		out++;	    }        }        else if (c < 0x110000) {            if (out+1 >= outend)	        break;            c -= 0x10000;	    if (xmlLittleEndian) {		*out++ = 0xD800 | (c >> 10);		*out++ = 0xDC00 | (c & 0x03FF);	    } else {		tmp1 = 0xD800 | (c >> 10);		tmp = (unsigned char *) out;		*tmp = (unsigned char) tmp1;		*(tmp + 1) = tmp1 >> 8;		out++;		tmp2 = 0xDC00 | (c & 0x03FF);		tmp = (unsigned char *) out;		*tmp  = (unsigned char) tmp2;		*(tmp + 1) = tmp2 >> 8;		out++;	    }        }        else	    break;	processed = in;    }    *outlen = (out - outstart) * 2;    *inlen = processed - instart;    return(0);}/** * UTF8ToUTF16: * @outb:  a pointer to an array of bytes to store the result * @outlen:  the length of @outb * @in:  a pointer to an array of UTF-8 chars * @inlen:  the length of @in * * Take a block of UTF-8 chars in and try to convert it to an UTF-16 * block of chars out. * * Returns the number of bytes written, or -1 if lack of space, or -2 *     if the transcoding failed.  */static intUTF8ToUTF16(unsigned char* outb, int *outlen,            const unsigned char* in, int *inlen){    if (in == NULL) {	/*	 * initialization, add the Byte Order Mark for UTF-16LE	 */        if (*outlen >= 2) {	    outb[0] = 0xFF;	    outb[1] = 0xFE;	    *outlen = 2;	    *inlen = 0;#ifdef DEBUG_ENCODING            xmlGenericError(xmlGenericErrorContext,		    "Added FFFE Byte Order Mark\n");#endif	    return(2);	}	*outlen = 0;	*inlen = 0;	return(0);    }    return (UTF8ToUTF16LE(outb, outlen, in, inlen));}#endif /* LIBXML_OUTPUT_ENABLED *//** * UTF16BEToUTF8: * @out:  a pointer to an array of bytes to store the result * @outlen:  the length of @out * @inb:  a pointer to an array of UTF-16 passed as a byte array * @inlenb:  the length of @in in UTF-16 chars * * Take a block of UTF-16 ushorts in and try to convert it to an UTF-8 * block of chars out. This function assumes the endian property * is the same between the native type of this machine and the * inputed one. * * Returns the number of bytes written, or -1 if lack of space, or -2 *     if the transcoding fails (if *in is not a valid utf16 string) * The value of *inlen after return is the number of octets consumed *     if the return value is positive, else unpredictable. */static intUTF16BEToUTF8(unsigned char* out, int *outlen,            const unsigned char* inb, int *inlenb){    unsigned char* outstart = out;    const unsigned char* processed = inb;    unsigned char* outend = out + *outlen;    unsigned short* in = (unsigned short*) inb;    unsigned short* inend;    unsigned int c, d, inlen;    unsigned char *tmp;    int bits;    if ((*inlenb % 2) == 1)        (*inlenb)--;    inlen = *inlenb / 2;    inend= in + inlen;    while (in < inend) {	if (xmlLittleEndian) {	    tmp = (unsigned char *) in;	    c = *tmp++;	    c = c << 8;	    c = c | (unsigned int) *tmp;	    in++;	} else {	    c= *in++;	}         if ((c & 0xFC00) == 0xD800) {    /* surrogates */	    if (in >= inend) {           /* (in > inend) shouldn't happens */		*outlen = out - outstart;		*inlenb = processed - inb;	        return(-2);	    }	    if (xmlLittleEndian) {		tmp = (unsigned char *) in;		d = *tmp++;		d = d << 8;		d = d | (unsigned int) *tmp;		in++;	    } else {		d= *in++;	    }            if ((d & 0xFC00) == 0xDC00) {                c &= 0x03FF;                c <<= 10;                c |= d & 0x03FF;                c += 0x10000;            }            else {		*outlen = out - outstart;		*inlenb = processed - inb;	        return(-2);	    }        }	/* assertion: c is a single UTF-4 value */        if (out >= outend) 	    break;        if      (c <    0x80) {  *out++=  c;                bits= -6; }        else if (c <   0x800) {  *out++= ((c >>  6) & 0x1F) | 0xC0;  bits=  0; }        else if (c < 0x10000) {  *out++= ((c >> 12) & 0x0F) | 0xE0;  bits=  6; }        else                  {  *out++= ((c >> 18) & 0x07) | 0xF0;  bits= 12; }         for ( ; bits >= 0; bits-= 6) {            if (out >= outend) 	        break;            *out++= ((c >> bits) & 0x3F) | 0x80;        }	processed = (const unsigned char*) in;    }    *outlen = out - outstart;    *inlenb = processed - inb;    return(0);}#ifdef LIBXML_OUTPUT_ENABLED/** * UTF8ToUTF16BE: * @outb:  a pointer to an array of bytes to store the result * @outlen:  the length of @outb * @in:  a pointer to an array of UTF-8 chars * @inlen:  the length of @in * * Take a block of UTF-8 chars in and try to convert it to an UTF-16BE * block of chars out. * * Returns the number of byte written, or -1 by lack of space, or -2 *     if the transcoding failed.  */static intUTF8ToUTF16BE(unsigned char* outb, int *outlen,            const unsigned char* in, int *inlen){    unsigned short* out = (unsigned short*) outb;    const unsigned char* processed = in;    const unsigned char *const instart = in;    unsigned short* outstart= out;    unsigned short* outend;    const unsigned char* inend= in+*inlen;    unsigned int c, d;    int trailing;    unsigned char *tmp;    unsigned short tmp1, tmp2;    /* UTF-16BE has no BOM */    if (in == NULL) {	*outlen = 0;	*inlen = 0;	return(0);    }    outend = out + (*outlen / 2);    while (in < inend) {      d= *in++;      if      (d < 0x80)  { c= d; trailing= 0; }      else if (d < 0xC0)  {          /* trailing byte in leading position */	  *outlen = out - outstart;	  *inlen = processed - instart;	  return(-2);      } else if (d < 0xE0)  { c= d & 0x1F; trailing= 1; }      else if (d < 0xF0)  { c= d & 0x0F; trailing= 2; }      else if (d < 0xF8)  { c= d & 0x07; trailing= 3; }      else {          /* no chance for this in UTF-16 */	  *outlen = out - outstart;	  *inlen = processed - instart;	  return(-2);      }      if (inend - in < trailing) {          break;      }       for ( ; trailing; trailing--) {          if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80))  break;          c <<= 6;          c |= d & 0x3F;      }      /* assertion: c is a single UTF-4 value */        if (c < 0x10000) {            if (out >= outend)  break;	    if (xmlLittleEndian) {		tmp = (unsigned char *) out;		*tmp = c >> 8;		*(tmp + 1) = c;		out++;	    } else {		*out++ = c;	    }        }        else if (c < 0x110000) {            if (out+1 >= outend)  break;            c -= 0x10000;	    if (xmlLittleEndian) {		tmp1 = 0xD800 | (c >> 10);		tmp = (unsigned char *) out;		*tmp = tmp1 >> 8;		*(tmp + 1) = (unsigned char) tmp1;		out++;		tmp2 = 0xDC00 | (c & 0x03FF);		tmp = (unsigned char *) out;		*tmp = tmp2 >> 8;		*(tmp + 1) = (unsigned char) tmp2;		out++;	    } else {		*out++ = 0xD800 | (c >> 10);		*out++ = 0xDC00 | (c & 0x03FF);	    }        }        else	    break;	processed = in;    }    *outlen = (out - outstart) * 2;    *inlen = processed - instart;    return(0);}#endif /* LIBXML_OUTPUT_ENABLED *//************************************************************************ *									* *		Generic encoding handling routines			* *									* ************************************************************************//** * xmlDetectCharEncoding: * @in:  a pointer to the first bytes of the XML entity, must be at least *       2 bytes long (at least 4 if encoding is UTF4 variant). * @len:  pointer to the length of the buffer * * Guess the encoding of the entity using the first bytes of the entity content * according to the non-normative appendix F of the XML-1.0 recommendation. *  * Returns one of the XML_CHAR_ENCODING_... values. */xmlCharEncodingxmlDetectCharEncoding(const unsigned char* in, int len){    if (len >= 4) {	if ((in[0] == 0x00) && (in[1] == 0x00) &&	    (in[2] == 0x00) && (in[3] == 0x3C))	    return(XML_CHAR_ENCODING_UCS4BE);	if ((in[0] == 0x3C) && (in[1] == 0x00) &&	    (in[2] == 0x00) && (in[3] == 0x00))	    return(XML_CHAR_ENCODING_UCS4LE);	if ((in[0] == 0x00) && (in[1] == 0x00) &&	    (in[2] == 0x3C) && (in[3] == 0x00))	    return(XML_CHAR_ENCODING_UCS4_2143);	if ((in[0] == 0x00) && (in[1] == 0x3C) &&	    (in[2] == 0x00) && (in[3] == 0x00))	    return(XML_CHAR_ENCODING_UCS4_3412);	if ((in[0] == 0x4C) && (in[1] == 0x6F) &&	    (in[2] == 0xA7) && (in[3] == 0x94))	    return(XML_CHAR_ENCODING_EBCDIC);	if ((in[0] == 0x3C) && (in[1] == 0x3F) &&	    (in[2] == 0x78) && (in[3] == 0x6D))	    return(XML_CHAR_ENCODING_UTF8);	/*	 * Although not part of the recommendation, we also	 * attempt an "auto-recognition" of UTF-16LE and	 * UTF-16BE encodings.	 */	if ((in[0] == 0x3C) && (in[1] == 0x00) &&	    (in[2] == 0x3F) && (in[3] == 0x00))	    return(XML_CHAR_ENCODING_UTF16LE);	if ((in[0] == 0x00) && (in[1] == 0x3C) &&	    (in[2] == 0x00) && (in[3] == 0x3F))	    return(XML_CHAR_ENCODING_UTF16BE);    }    if (len >= 3) {	/*	 * Errata on XML-1.0 June 20 2001	 * We now allow an UTF8 encoded BOM	 */	if ((in[0] == 0xEF) && (in[1] == 0xBB) &&	    (in[2] == 0xBF))	    return(XML_CHAR_ENCODING_UTF8);    }    /* For UTF-16 we can recognize by the BOM */    if (len >= 2) {	if ((in[0] == 0xFE) && (in[1] == 0xFF))	    return(XML_CHAR_ENCODING_UTF16BE);	if ((in[0] == 0xFF) && (in[1] == 0xFE))	    return(XML_CHAR_ENCODING_UTF16LE);    }    return(XML_CHAR_ENCODING_NONE);}/** * xmlCleanupEncodingAliases: * * Unregisters all aliases */voidxmlCleanupEncodingAliases(void) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品伊人久久久久av影院 | 欧美日韩免费观看一区二区三区 | 美女爽到高潮91| 午夜伊人狠狠久久| 久久国产精品99精品国产| 免费成人在线观看| 成人av网在线| 69堂成人精品免费视频| 欧美国产精品中文字幕| 自拍偷在线精品自拍偷无码专区 | 在线观看网站黄不卡| 欧美一区二区大片| 欧美激情综合在线| 午夜视频一区二区三区| va亚洲va日韩不卡在线观看| 精品少妇一区二区| 秋霞午夜鲁丝一区二区老狼| 91久久国产最好的精华液| 国产视频911| 国产一区二区三区免费看 | 午夜久久久久久久久久一区二区| av在线综合网| 日本一区二区三区高清不卡| 精品一区二区三区影院在线午夜 | 91美女视频网站| 日本一二三不卡| 国产精品一区二区视频| 精品国产乱码久久久久久免费| 日韩av午夜在线观看| 欧美挠脚心视频网站| 亚洲v精品v日韩v欧美v专区| 91激情五月电影| 亚洲自拍与偷拍| 色天使色偷偷av一区二区| 亚洲精品视频在线| 欧美中文字幕亚洲一区二区va在线| 亚洲日本一区二区| 欧洲在线/亚洲| 亚洲综合成人在线视频| 欧美日本在线一区| 男人的j进女人的j一区| 日韩欧美综合在线| 国产一区二区美女| 国产欧美日韩卡一| 91亚洲大成网污www| 亚洲黄色小说网站| 欧美另类z0zxhd电影| 日本欧洲一区二区| 久久久久久久久久看片| 国产99久久久国产精品免费看| 国产精品卡一卡二| 欧美亚洲综合久久| 麻豆精品国产传媒mv男同| 久久久久久99精品| 99re视频这里只有精品| 亚洲chinese男男1069| 欧美一级二级在线观看| 国产精品亚洲综合一区在线观看| 亚洲欧洲精品一区二区三区不卡| 97久久精品人人爽人人爽蜜臀| 亚洲综合视频网| 欧美xingq一区二区| 成人av电影在线观看| 亚洲成人1区2区| 久久久久一区二区三区四区| 日本韩国欧美在线| 久久99精品久久只有精品| 国产精品美日韩| 欧美日韩国产三级| 国产99久久久精品| 天天色综合天天| 中文天堂在线一区| 91精品国模一区二区三区| 国产成人鲁色资源国产91色综 | 蜜桃av一区二区三区电影| 久久久美女毛片| 欧美日韩视频在线一区二区| 国产一本一道久久香蕉| 亚洲精品乱码久久久久| 久久综合狠狠综合久久激情| 日本精品视频一区二区| 国产成人精品网址| 日韩专区在线视频| 国产乱理伦片在线观看夜一区| 一区二区三区精品在线| 久久综合五月天婷婷伊人| 欧美日韩免费高清一区色橹橹| 成人av网站在线观看免费| 免费日韩伦理电影| 亚洲无线码一区二区三区| 久久精品人人做人人爽97| 91精品国产综合久久精品图片| 91亚洲精品一区二区乱码| 国产一区二区三区电影在线观看 | 日韩一区在线免费观看| 精品国产免费人成电影在线观看四季 | 懂色av一区二区三区免费观看| 全国精品久久少妇| 亚洲成人精品一区二区| 亚洲色图一区二区三区| 国产日韩av一区| 久久综合网色—综合色88| 日韩一卡二卡三卡四卡| 在线免费观看日韩欧美| 高清beeg欧美| 精品一区在线看| 久久精品久久久精品美女| 亚洲高清免费在线| 亚洲精品日韩一| 亚洲人快播电影网| 一色桃子久久精品亚洲| 国产精品热久久久久夜色精品三区| 日韩欧美综合在线| 日韩欧美亚洲另类制服综合在线| 欧美日韩国产高清一区二区三区| 91久久精品一区二区二区| 一本大道av一区二区在线播放 | 久久精品一区四区| 精品999在线播放| 日韩精品一区二区三区中文不卡| 欧美区一区二区三区| 精品视频一区二区不卡| 欧美在线看片a免费观看| 99久久精品免费看国产免费软件| 成人激情午夜影院| 91农村精品一区二区在线| 色综合 综合色| 欧美女孩性生活视频| 欧美一级午夜免费电影| 欧美日本一道本| 欧美一区二区二区| 精品国产1区二区| 国产欧美日韩三级| 亚洲综合一区二区三区| 亚洲成av人片在www色猫咪| 久久成人羞羞网站| 成人网在线免费视频| 色吧成人激情小说| 日韩视频在线观看一区二区| 国产日本一区二区| 中文字幕日韩av资源站| 一区二区日韩电影| 日本亚洲最大的色成网站www| 久久精品99国产精品| 成人免费观看av| 欧美在线免费观看亚洲| 久久久午夜电影| 亚洲激情第一区| 国产精品一区二区三区四区| 欧美在线观看18| 亚洲精品一线二线三线无人区| 亚洲欧洲日韩av| 免费一级欧美片在线观看| 成人午夜精品在线| 欧美日本乱大交xxxxx| 久久尤物电影视频在线观看| 亚洲精选视频免费看| 九色|91porny| 91高清在线观看| 国产拍欧美日韩视频二区| 亚洲综合视频网| 成人高清视频在线观看| 7777精品伊人久久久大香线蕉经典版下载| 久久―日本道色综合久久| 亚洲线精品一区二区三区| 国产精品一级在线| 91精品中文字幕一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 天天综合天天做天天综合| 成人深夜视频在线观看| 日韩欧美在线一区二区三区| 亚洲激情综合网| 成人黄动漫网站免费app| 日韩精品一区二区三区视频 | 秋霞午夜鲁丝一区二区老狼| 97久久精品人人做人人爽| 久久众筹精品私拍模特| 日韩成人精品在线| 日本乱码高清不卡字幕| 欧美激情一区三区| 极品尤物av久久免费看| 欧美一级国产精品| 一区二区三区在线视频观看| 国产美女精品人人做人人爽| 欧美精品精品一区| 亚洲在线观看免费视频| 99riav一区二区三区| 国产日本亚洲高清| 精品一区二区免费在线观看| 4438成人网| 一区二区三区在线免费视频| www.欧美色图| 最新国产成人在线观看| 成人av网在线| 亚洲少妇中出一区| www.亚洲精品| 亚洲青青青在线视频| 99re这里只有精品6| 亚洲视频精选在线| 在线观看成人免费视频|