ÔÚcÖд¦Àíutf
UTF-8×î´óµÄÒ»¸öÌØµã£¬¾ÍÊÇËüÊÇÒ»Öֱ䳤µÄ±àÂ뷽ʽ¡£Ëü¿ÉÒÔʹÓÃ1~4¸ö×Ö½Ú±íʾһ¸ö·ûºÅ£¬¸ù¾Ý²»Í¬µÄ·ûºÅ¶ø±ä»¯×Ö½Ú³¤¶È¡£
UTF-8µÄ±àÂë¹æÔòºÜ¼òµ¥£¬Ö»ÓжþÌõ£º
1£©¶ÔÓÚµ¥×ֽڵķûºÅ£¬×ֽڵĵÚһλÉèΪ0£¬ºóÃæ7λΪÕâ¸ö·ûºÅµÄunicodeÂë¡£Òò´Ë¶ÔÓÚÓ¢Óï×Öĸ£¬UTF-8±àÂëºÍASCIIÂëÊÇÏàͬµÄ¡£
2£©¶ÔÓÚn×ֽڵķûºÅ£¨n>1£©£¬µÚÒ»¸ö×Ö½ÚµÄǰnλ¶¼ÉèΪ1£¬µÚn+1λÉèΪ0£¬ºóÃæ×Ö½ÚµÄǰÁ½Î»Ò»ÂÉÉèΪ10¡£Ê£ÏµÄûÓÐÌá¼°µÄ¶þ½øÖÆÎ»£¬È«²¿ÎªÕâ¸ö·ûºÅµÄunicodeÂë¡£
¿´´úÂë
size_t utf_length(u_char *p, size_t n) // u_char*p Ö¸ÏòÒ»¸ö¿ÉÄܰüº¬utf-8µÄ×Ö·û´®£¬n = strlen(p)
{
u_char c;
size_t len;
u_int32_t i;
for (len = 0, i = 0; i < n; len++, i++) {
c = p[i];
if (c < 0x80) { // 0x80 µÄ2½øÖƶȣ¨10000000£©£¬µ¥×Ö½ÚµÄʱºò£¬×î´óµÄ±àÂëÊÇ£¨01111111£©£¬ Ò²¾ÍÊÇ127£¬Ò²¾ÍÊÇascii
continue;
}
if (c >= 0xc0) { //¸ù¾Ýutf-8µÄµÚ2Ìõ¹æÔò£¬ Èç¹ûÊÇ2¸ö×Ö½Ú±àÂë³ÉÒ»¸ö·ûºÅµÄʱºò£¬ÄÇôӦ¸ÃÊÇ£¨110*****£¬10******£©
/*Èç¹ûÊÇ3¸ö×Ö½Ú±àÂë³ÉÒ»¸ö·ûºÅ£¬ ÄÇôӦ¸ÃÊÇ£¨1110****£¬10******£¬10******£©
Èç¹ûÊÇ4¸ö×Ö½Ú±àÂë³ÉÒ»¸ö·ûºÅ£¬ ÄÇôӦ¸ÃÊÇ£¨11110***£¬10******£¬ 10******£¬10******£©
for (c <<= 1; c & 0x80; c <<= 1) { /*forµÄÓ÷¨£¬µÚÒ»¸ö´ú±í¸³³õʼֵ£¬ µÚ2¸öÅжϣ¬ µÚ3¸ö¸³Öµ£¬ µÚ2´ÎÑ»·µÄʱºò£¬µÚÒ»¸öc<<1 ÒѾ²»ÓÃÁË */
i++; //Ìø¹ý
Ïà¹ØÎĵµ£º
ÔÚ´óÐÍCÓïÑÔÏîÄ¿¹¤³Ì»òÕßlinuxÄÚºËÖÐÎÒÃǶ¼»á¾³£¼ûµ½Á½¸öFASTCALLºÍarmlinkage
Á½¸ö±êʶ·û(ÐÞÊηû)£¬ÄÇôËüÃǸ÷ÓÐʲô²»Í¬ÄØ£¿½ñÌì¾Í¸ø´ó¼Ò¹²Í¬·ÖÏíÒ»ÏÂ×Ô¼ºµÄÐĵÃ.
´ó¼Ò¶¼ÖªµÀÔÚ±ê×¼CϵÖк¯ÊýµÄÐβÎÔÚʵ¼Ê´«Èë²ÎÊýµÄʱºò»áÉæ¼°µ½²ÎÊý´æ·ÅµÄÎÊÌ⣬ÄÇôÕâЩ²ÎÊý´æ·ÅÔÚÄÄÀïÄØ£¿ ÓÐÒ»¶¨ÀíÂÛ»ù´¡µÄ ......
ϵͳ»·¾³£ºUbuntu 9.04
Èí¼þ»·¾³£ºNetBeans 6.7.1 C/C++ ¡¢JDK1.6.0_16
±¾´ÎÄ¿µÄ£ºÍê³ÉNetBeans 6.7.1 C/C++ µÄÅäÖù¤×÷¡¢±àÒë²âÊÔ¼°¶ÔÖÐÎÄÖ§³Ö
Ê×ÏÈ´Ó¹ÙÍøÉÏÏÂÔØ×îаæµÄNetbeans Ñ¡ÔñC/C++¹¤×÷̨ÏÂÔØ[µã»÷½øÈë]£¬µ¯³öµÄÐÂÍøÒ³½«»á×Ô¶¯ÏÂÔØ£¬ÈçÏÂͼ£º
ÔÚ½øÐа²×°Ö®Ç°£¬ÎÒÃÇÏȰ²×°JDK£¬ ......
µÚÒ»Õ¸ÅÀÀ
CÊÇÒ»ÖÖ±àÒëÐ͵ÄÓïÑÔ
±àÒëÐÍ£º¾ÍÊǰÑcÓïÑÔ±àÒë³É¼ÆËã»úÄÜÔËÐеĻúÆ÷´úÂë
²»Í¬µÄ¼ÆËã»úϵͳÓÐן÷×ԵıàÒëÆ÷£¬À´°Ñc±àÒë³É¶ÔÓ¦µÄ»úÆ÷´úÂë
ÌØÐÔ£º´úÂë¸ßЧ£¬¿ÉÒÆÖ²£¬¹¦ÄÜÇ¿´óºÍÁé»î
ȱµã£º´úÂë¸ñʽ×ÔÓÉ£¨ÌرðÊÇÖ¸ÕëµÄʹÓã©
CÓïÑÔÔËÐÐµÄÆß¸ö²½Ö裺
1. ¶¨Ò ......
Ò»Ö±¶Ô½á¹¹ÌåŪµÄÄ£ºý£¬½ñÌìÖÕÓÚÓлú»á³ÎÇåÁË¡£Óиö´í£º²»Ã÷°×ûÓнṹÌåÃûµÄ½á¹¹ÌåÈçºÎÏñ½á¹¹ÌåÃûÒ»ÑùʹÓá£
typedf struct st ......