成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解MTK系統中字符轉換問題

移動開發
MTK系統中字符轉換問題是本文要介紹的內容,主要是來了解并學習MTK中一些小案例的應用,具體內容來看本文詳解。

MTK系統中字符轉換問題是本文要介紹的內容,主要是來了解并學習MTK中一些小案例的應用,具體內容來看本文詳解。如果我不想在ref_list.txt文件中加入我們的字符串字符,那么我們是否可以直接在代碼里定義字符串呢?例如中文字符串,因為在代碼里定義的中文字符串都是GB碼的,而MTK系統對于字符函數API都只接受UNICODE編碼的。

我們可以通過文件conversion.c文件中的函數mmi_chset_text_to_ucs2(.... )函數對GB編碼的字符串進行轉換;但是使用該函數是必須將宏__MMI_CHSET_GB2312__打開,否則轉換后必定顯示亂碼;為什么會這樣呢?我們看入下代碼片斷:

在conversion.c中的頭部有如下代碼片斷:

  1. #if defined(__MMI_CHSET_BIG5__)  
  2. mmi_chset_enum g_chset_text_encoding = MMI_CHSET_BIG5;  
  3. #elif defined(__MMI_CHSET_GB2312__)  
  4. mmi_chset_enum g_chset_text_encoding = MMI_CHSET_GB2312;  
  5. #else   
  6. mmi_chset_enum g_chset_text_encoding = MMI_CHSET_UTF8;  
  7. #endif  

由此可見,如果我們不打開__MMI_CHSET_GB2312__宏,g_chset_text_encoding 就是不是MMI_CHSET_GB2312 值;而是其它值,則函數mmi_chset_text_to_ucs2(....)就不能對GB編碼的字符串進行轉換。

mmi_chset_text_to_ucs2(....)函數片斷:

  1. kal_int32 mmi_chset_text_to_ucs2(kal_uint8 *dest, kal_int32 dest_size, kal_uint8 *src)  
  2. {  
  3.  /*----------------------------------------------------------------*/  
  4.  /* Local Variables*/  
  5.  /*----------------------------------------------------------------*/  
  6.  /*----------------------------------------------------------------*/  
  7.  /* Code Body*/  
  8.  /*----------------------------------------------------------------*/  
  9.  return mmi_chset_convert(g_chset_text_encoding, MMI_CHSET_UCS2, (char*)src, (char*)dest, dest_size);  

問題是我們如何打開宏__MMI_CHSET_GB2312__呢?

我們來看看MKT的features配置文件——MMI_features.h中的片斷。

  1. #if defined(CFG_MMI_CHSET_GB2312) && (CFG_MMI_CHSET_GB2312 == __ON__) || \  
  2.  (defined(__MMI_LANG_CHSET_DEPENDENCE__) && defined(__MMI_LANG_SM_CHINESE__))  
  3.  #ifndef __MMI_CHSET_GB2312__  
  4.  #define __MMI_CHSET_GB2312__  
  5.  #endif  
  6. #endif 

那么宏CFG_MMI_CHSET_GB2312又在哪里呢?????

我們看看文件MMI_features_switch.h代碼片斷如下:

  1. /*  
  2.   Description: Turn on simple Chinese GB2312 charset  
  3.   Option: [__ON__, __OFF__, __AUTO__]  
  4.   Reference: SOP_Add_New_Charset_Conversion.doc  
  5. */  
  6.  
  7. #define CFG_MMI_CHSET_GB2312 (__AUTO__) 

[疑問]在配置文件MMI_features_type.h中有如下定義

  1. /* general on/off/auto type */  
  2. #define __ON__ (-1)  
  3. #define __OFF__(-2)  
  4. #define __AUTO__  (-3) 

其中__AUTO__ 不知道是什么意思??????

當然如果__MMI_CHSET_GB2312__沒有被Enable,我們可以直接使用函數mmi_chset_convert()

該函數原形如下所示:

  1. /*****************************************************************************  
  2.  * FUNCTION  
  3.  *  mmi_chset_convert  
  4.  * DESCRIPTION  
  5.  *  Convert string between 2 character sets. (will add the terminate character)  
  6.  * PARAMETERS  
  7.  *  src_type  [IN]  Charset type of source  
  8.  *  dest_type [IN]  Charset type of destination  
  9.  *  src_buff  [IN]  Buffer stores source string  
  10.  *  dest_buff [OUT] Buffer stores destination string  
  11.  *  dest_size [IN]  Size of destination buffer (bytes)  
  12.  * RETURNS  
  13.  *  Length of destination string, including null terminator. (bytes)  
  14.  *****************************************************************************/  
  15. kal_int32 mmi_chset_convert(  
  16. mmi_chset_enum src_type,  
  17. mmi_chset_enum dest_type,  
  18. char *src_buff,  
  19. char *dest_buff,  
  20. kal_int32 dest_size); 

使用方式如下:

  1. mmi_chset_convert(MMI_CHSET_GB2312,MMI_CHSET_UCS2,(char * )soure_string,(char *)destion_string,source_size); 

小結:MTK系統中字符轉換問題的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2010-05-11 17:45:17

MySQL字符

2011-09-06 13:15:04

MTK文件系統內存

2011-09-05 18:49:50

MTK手機軟件系統

2011-09-06 13:58:28

MTK系統

2011-09-06 15:12:39

MTK

2011-09-05 17:35:18

MTK啟動過程RTOS

2010-05-26 15:24:09

MySQL字符串

2011-09-05 18:57:36

MTKJ2ME

2011-09-06 09:26:03

2011-08-30 16:02:10

MTK開發環境

2011-08-31 10:20:26

MTK驅動開發

2011-09-07 10:02:13

MTK6516CPU

2011-09-05 18:54:37

MTK系統

2011-08-31 10:37:06

MTK開發入門

2011-09-06 14:10:18

MTK系統時間

2011-09-05 17:27:13

MTK驅動調試GPIO

2011-08-30 16:32:41

MTK開發環境

2011-08-22 10:59:42

SQL Server日期時間格式轉換字符串

2021-04-09 10:37:40

SQL Server數據庫排名

2021-04-25 09:42:40

SQL遞歸SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲福利精品 | 男女羞羞视频在线观看 | 日韩欧美在线精品 | 国产乱一区二区三区视频 | 欧美一级二级视频 | 国产夜恋视频在线观看 | 最新国产精品视频 | 亚洲人成人一区二区在线观看 | 精品亚洲永久免费精品 | 人人干人人超 | h在线看| 国产女人精品视频 | 国产精品久久久久国产a级 欧美日韩国产免费 | 欧洲视频一区二区 | 日韩高清一区 | www国产亚洲精品久久网站 | 欧美激情一区二区三区 | 亚洲精品99999 | 日本免费网 | 免费午夜视频 | 亚洲精品久久 | 成年人黄色小视频 | 日韩欧美视频在线 | 国产aⅴ爽av久久久久久久 | 久草中文在线 | 亚洲瑟瑟 | 久久久www成人免费精品张筱雨 | 一区二区三区在线 | 国产成人精品视频在线观看 | 二区中文字幕 | 久久99国产精一区二区三区 | 午夜视频免费网站 | 影音先锋亚洲资源 | 久久99视频这里只有精品 | 成人在线一区二区 | 久久天堂网| 国产精品国产成人国产三级 | 欧美中文字幕一区二区三区亚洲 | 91视频18| 成人午夜性成交 | 国产精品免费观看 |