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

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

?? gui_uc_encodeutf8.c

?? 這套代碼已經成功一直到S3C44B0X開發板上
?? C
字號:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : GUI_UC_EncodeUTF8.c
Purpose     : Encoding routines
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI_Protected.h"

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _GetCharCode
*
* Purpose:
*   Return the UNICODE character code of the current character.
*/
static U16 _GetCharCode(const char GUI_UNI_PTR * s) {
  U16 r;
  U8 Char = *(const U8*)s;
  if ((Char & 0x80) == 0) {                /* Single byte (ASCII)  */
    r = Char;
  } else if ((Char & 0xe0) == 0xc0) {      /* Double byte sequence */
    r = (Char & 0x1f) << 6;
    Char = *(++s);
    Char &= 0x3f;
    r |= Char;
  } else if ((Char & 0xf0) == 0xe0) {      /* 3 byte sequence      */
    r = (Char & 0x0f) << 12;
    Char = *(++s);
    Char &= 0x3f;
    r |= (Char << 6);
    Char = *(++s);
    Char &= 0x3f;
    r |= Char;
  } else {
    GUI_DEBUG_ERROROUT("Illegal character during UTF-8 decoding!");
    r = 1;       /* Illegal character. To avoid endless loops in upper layers, we return 1 rather than 0. */
  }
  return r;
}

/*********************************************************************
*
*       _GetCharSize
*
* Purpose:
*   Return the number of bytes of the current character.
*/
static int _GetCharSize(const char GUI_UNI_PTR * s) {
  U8 Char = *s;
  if ((Char & 0x80) == 0) {
    return 1;
  } else if ((Char & 0xe0) == 0xc0) {
    return 2;
  } else if ((Char & 0xf0) == 0xe0) {
    return 3;
  }
  GUI_DEBUG_ERROROUT("Illegal character during UTF-8 decoding!");
  return 1;       /* Illegal character. To avoid endless loops in upper layers, we return 1 rather than 0. */
}

/*********************************************************************
*
*       _CalcSizeOfChar
*
* Purpose:
*   Return the number of bytes needed for the given character.
*/
static int _CalcSizeOfChar(U16 Char) {
  int r;
  if (Char & 0xF800) {                /* Single byte (ASCII)  */
    r = 3;
  } else if (Char & 0xFF80) {         /* Double byte sequence */
    r = 2;
  } else {                            /* 3 byte sequence      */
    r = 1;
  }
  return r;
}

/*********************************************************************
*
*       _Encode
*
* Purpose:
*   Encode character into 1/2/3 bytes.
*/
static int _Encode(char *s, U16 Char) {
  int r;
  r = _CalcSizeOfChar(Char);
  switch (r) {
  case 1:
    *s = (char)Char;
    break;
  case 2:
    *s++ = 0xC0 | (Char >> 6);
    *s   = 0x80 | (Char & 0x3F);
    break;
  case 3:
    *s++ = 0xE0 | (Char >> 12);
    *s++ = 0x80 | ((Char >> 6) & 0x3F);
    *s   = 0x80 | (Char & 0x3F);
    break;
  }
  return r;
}

/*********************************************************************
*
*       _API_Table
*/
static const GUI_UC_ENC_APILIST _API_Table = {
  _GetCharCode,     /*  return character code as U16 (Unicode) */
  _GetCharSize,     /*  return size of character: 1/2/3        */
  _CalcSizeOfChar,  /*  return size of character: 1/2/3        */
  _Encode           /*  Encode character into 1/2/3 bytes      */
};

/*********************************************************************
*
*       Exported code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUI_UC_SetEncodeUTF8
*/
void GUI_UC_SetEncodeUTF8(void) {
  GUI_LOCK();
  GUI_Context.pUC_API = &_API_Table;
  GUI_UNLOCK();
}

/*************************** End of file ****************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线看| 青青草97国产精品免费观看| 成人手机电影网| 国产欧美精品一区二区色综合| 国产成人啪免费观看软件| 欧美国产日本视频| 色综合久久久久综合99| 午夜精品视频在线观看| 日韩一级在线观看| 国产成人免费视频| 1区2区3区精品视频| 欧美午夜精品免费| 精品一区二区三区免费| 久久久高清一区二区三区| 99精品视频免费在线观看| 亚洲成人第一页| 欧美xxxxxxxxx| 99精品热视频| 蜜桃视频第一区免费观看| 国产日本亚洲高清| 91国产免费观看| 捆绑调教美女网站视频一区| 国产精品免费丝袜| 欧美色图激情小说| 国产盗摄女厕一区二区三区| 亚洲免费视频成人| 日韩免费高清av| 色婷婷久久久久swag精品| 人人爽香蕉精品| 亚洲日本在线看| 日韩精品一区在线观看| 91视频91自| 国产剧情在线观看一区二区| 亚洲欧美一区二区三区极速播放 | 国产一区欧美一区| 亚洲欧美偷拍三级| 精品少妇一区二区三区日产乱码| 91网站视频在线观看| 九九热在线视频观看这里只有精品| 亚洲丝袜自拍清纯另类| 日韩欧美国产一区二区三区| 一本一道综合狠狠老| 久久不见久久见中文字幕免费| 一区二区三区蜜桃| 中文字幕国产一区二区| 91精品国产91综合久久蜜臀| 99麻豆久久久国产精品免费| 激情深爱一区二区| 天天亚洲美女在线视频| 亚洲欧洲日产国码二区| 欧美成人一级视频| 91精品国产综合久久福利| 99久久精品一区| 国产精品一区二区x88av| 免费欧美在线视频| 亚洲国产成人av网| 一区二区三区四区在线播放| 中国色在线观看另类| 久久婷婷国产综合国色天香| 91.com在线观看| 欧美精品亚洲一区二区在线播放| 不卡一区在线观看| 国产成都精品91一区二区三| 久久精工是国产品牌吗| 日韩综合小视频| 亚洲r级在线视频| 亚洲综合在线观看视频| 日韩码欧中文字| 亚洲蜜臀av乱码久久精品| 国产欧美日韩在线| 久久综合九色综合欧美亚洲| 日韩欧美国产一区二区三区 | 国产精品三级视频| 欧美国产丝袜视频| 国产免费久久精品| 国产精品免费久久久久| 中文字幕欧美三区| 亚洲视频一二三| 亚洲女女做受ⅹxx高潮| 亚洲欧美韩国综合色| 伊人夜夜躁av伊人久久| 亚洲国产精品麻豆| 日韩高清在线观看| 久热成人在线视频| 国产美女一区二区| 大陆成人av片| 色婷婷激情久久| 欧美日韩在线播| 日韩欧美激情在线| 国产亚洲福利社区一区| 国产精品家庭影院| 一区二区三区精密机械公司| 午夜国产精品一区| 激情av综合网| 99久久国产综合精品麻豆| 欧美性生活一区| 日韩一区二区不卡| 国产精品久久免费看| 亚洲欧洲中文日韩久久av乱码| 亚洲国产色一区| 日本成人在线不卡视频| 国产一区二区在线免费观看| av在线一区二区| 欧美日韩精品一二三区| 久久日韩粉嫩一区二区三区| 综合欧美亚洲日本| 日韩 欧美一区二区三区| 韩国三级在线一区| 色国产综合视频| 欧美成人性战久久| 日韩毛片视频在线看| 日本中文在线一区| 成人免费毛片aaaaa**| 欧美少妇bbb| 久久久综合网站| 亚洲电影中文字幕在线观看| 国产一本一道久久香蕉| 色综合网色综合| 欧美xxxxxxxx| 亚洲国产精品久久久男人的天堂| 久久精品国产一区二区| 一本久道中文字幕精品亚洲嫩| 欧美一卡二卡三卡四卡| 亚洲日本一区二区三区| 精品亚洲国产成人av制服丝袜 | 亚洲电影在线播放| 国产成人综合网站| 欧美一区二区三区在线观看| 成人欧美一区二区三区1314| 奇米四色…亚洲| 色婷婷综合久久久中文一区二区 | 欧美午夜电影网| 日韩欧美一区电影| 亚洲欧美日韩国产成人精品影院| 久久爱www久久做| 欧美日韩一区三区| 中文字幕乱码久久午夜不卡| 美腿丝袜亚洲三区| 欧美日韩精品高清| 中文字幕在线观看一区二区| 久久精品噜噜噜成人88aⅴ| 色婷婷国产精品| 国产精品视频线看| 国产精品69毛片高清亚洲| 欧美一卡2卡3卡4卡| 午夜视频一区二区三区| 成人午夜av影视| 久久亚洲捆绑美女| 另类小说视频一区二区| 欧美色手机在线观看| 椎名由奈av一区二区三区| 国产成人8x视频一区二区| 精品99一区二区三区| 亚洲一区二区不卡免费| 色综合久久久久网| 亚洲乱码国产乱码精品精小说| 成人免费视频网站在线观看| 国产欧美日韩激情| 国产电影一区二区三区| 亚洲精品一区二区精华| 久久国产精品一区二区| 91精品国产免费久久综合| 亚洲精品日产精品乱码不卡| 91麻豆.com| 亚洲另类在线制服丝袜| 日本精品视频一区二区| 中文字幕一区二区三区在线播放| 国产成人亚洲综合色影视| 久久久亚洲精品一区二区三区| 国产在线乱码一区二区三区| 日韩视频免费观看高清完整版在线观看 | 久久久久久久电影| 国产精品自在欧美一区| 26uuu精品一区二区在线观看| 乱中年女人伦av一区二区| 日韩一区和二区| 另类小说欧美激情| 2024国产精品| 国产激情91久久精品导航| 国产亚洲欧美日韩俺去了| 国产精品99久久久久| 国产亚洲污的网站| 波多野结衣中文字幕一区二区三区 | 一二三区精品福利视频| 91福利视频网站| 日韩国产在线一| 欧美大度的电影原声| 国产精品一区二区男女羞羞无遮挡 | 波多野结衣中文字幕一区| 亚洲欧美国产毛片在线| 欧美日韩一级片网站| 看片的网站亚洲| 国产精品日日摸夜夜摸av| 色视频成人在线观看免| 亚洲va欧美va天堂v国产综合| 欧美一区二区大片| 成人精品免费看| 亚洲综合偷拍欧美一区色| 日韩美女天天操| 91丨porny丨国产|