91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 102KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-04
  • 語言: 其他
  • 標簽: gb2312??usc2??

資源簡介

字符轉碼,gb2312 usc2 ,utf-8 隨意轉換

資源截圖

代碼片段和文件信息

/*************************************************************
*?文件名稱:gb2312_ucs2.c
*?功能描述: gb2312、ucs2間的轉換
*?字節序:little-endian?低地址存低字節
**************************************************************/
#include?
#include?
#define?BIT(x)?((0x01)<<(x))
typedef?unsigned?char?uchar;
const?unsigned?short?MAX_UNI_INDEX?=?6808;?/*6768*/

/*************************************************************
*功能:?十六進制基數碼表
**************************************************************/
static?const?char?radix_table[]?=?“0123456789ABCDEF“;

/*************************************************************
*功能:?ucs2_gb2312_table碼表
**************************************************************/
static?const?unsigned?short?ucs2_gb2312_table[][2];

/*************************************************************
*?語法格式:unsigned?short?gb2312_to_ucs2(unsigned?short?ucs2)
*?實現功能:gb2312轉換為ucs2
*?參數: gb2312?待轉換的gb2312編碼
*?返回值: ucs2編碼
**************************************************************/
unsigned?short?gb2312_to_ucs2(unsigned?short?gb2312)
{
int?Index;

for(Index?=?MAX_UNI_INDEX?-?1;?Index?>=?0;?Index--)
{
if(gb2312?==?ucs2_gb2312_table[Index][1])
return?ucs2_gb2312_table[Index][0];
}
return?0;
}

/*************************************************************
*?語法格式:unsigned?short?ucs2_to_gb2312(unsigned?short?ucs2)
*?實現功能:ucs2轉gb2312
*?參數: ucs2:?待轉換的ucs2編碼
*?返回值: gb2312編碼
**************************************************************/
unsigned?short?ucs2_to_gb2312(unsigned?short?ucs2)
{
int?left?=?0;
int?right?=?MAX_UNI_INDEX?-?1;
int?middle;

while(left?<=?right)
{
middle?=?(left+right)/2;
if?(ucs2?==?ucs2_gb2312_table[middle][0])
return?ucs2_gb2312_table[middle][1];
if?(ucs2?>?ucs2_gb2312_table[middle][0])
left?=?middle?+?1;
else
right?=?middle?-?1;
}
/*如果找不到漢字,則使用全角的空格代替*/
return?0xFED7;
}

/*************************************************************
*功能:
*?說明:
*?UTF-8以字節為單位對Unicode進行編碼。
*?從Unicode到UTF-8的編碼方式如下:
*?Unicode編碼(16進制)?-->?UTF-8?字節流(二進制)?
*?U-00000000?~?U-0000007F?-->?0xxxxxxx??
*?U-00000080?~?U-000007FF?-->?110xxxxx?10xxxxxx??
*?U-00000800?~?U-0000FFFF?-->?1110xxxx?10xxxxxx?10xxxxxx??
*?U-00010000?~?U-001FFFFF?-->?11110xxx?10xxxxxx?10xxxxxx?10xxxxxx??
*?U-00200000?~?U-03FFFFFF?-->?111110xx?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx??
*?U-04000000?~?U-7FFFFFFF?-->?1111110x?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx?
*?故根據每個漢字的第一個字節,便可以知道utf-8漢字由幾個字節組成
*************************************************************/
int?get_utf8_nbytes(unsigned?char?first_char)
{
unsigned?char?temp?=?0x080;
int?num?=?0;

if(first_char? {
num?=?1;
}
while?(temp?&?first_char)
{
????num++;
//printf(“in?Get?num=%d\n“?num);
????temp?=?(temp?>>?1);
}
return?num;
}

/*************************************************************
*?語法格式:int?utf8_to_ucs2(const?char?*utf8)
*?實現功能:utf-8字符串轉換為unicode碼
*?參數: utf?utf-8字符串
*?返回值: unicode碼碼值
*************************************************************/
int?utf8_to_ucs

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????476664??2017-05-26?10:44??encoding\gb2312_ucs2.c

?????文件???????3143??2012-12-31?15:15??encoding\gb2312_ucs2.h

?????文件??????35224??2014-03-05?15:20??encoding\gb2312_ucs2.o

?????目錄??????????0??2017-05-06?20:17??encoding

-----------?---------??----------?-----??----

???????????????515031????????????????????4


評論

共有 條評論