c Unicode編碼多位元組字元轉寬位元組字元

2021-09-28 16:57:07 字數 1335 閱讀 6714

寬字元與單字元的互相轉化

/*

*日期:2019.10.16

*功能:寬字元轉多位元組字元

*引數說明:

m_char[in]:多字元陣列

m_wchar[out]:寬字元陣列

*返回值:

*/void wchartochar( wchar_t * m_wchar, char *m_char)

/**日期:2019.10.16

*功能:多位元組字元轉寬字元

*引數說明:

m_char[in]:多字元陣列

m_wchar[out]:寬字元陣列

*返回值:

*/void chartowchar( wchar_t *m_wchar, char* m_char)

asc字元陣列與十六進製制陣列的轉換

/*

*日期:2019.10.16

*功能:asc字元陣列轉化為十六進製制陣列

*引數說明:

casc[in]:asc字元陣列

hexlen[in]:十六進製制陣列的長度

chex[out]:十六進製制陣列

*返回值:

*/void asctohex( char *casc, int hexlen, char *chex)

; chex[i] = strtol(temp, 0, 16);

} delete asc_temp;

} else

; chex[i] = strtol(temp, 0, 16);

} }}/*

*日期:2019.10.16

*功能:為十六進製制陣列向asc字元陣列轉化

*引數說明:

casc[in]:asc字元陣列

hexlen[in]:十六進製制陣列的長度

chex[out]:十六進製制陣列

*返回值:

*/void hextoasc(unsigned char *chex, int hexlen, unsigned char *casc)

}

測試

char str = "31323334";

char hex[100] = ;

asctohex(str,4,hex);

//hex 1234,0x310x320x330x34

unsigned char str[100] = ;

unsigned char hex[100] = ;

hextoasc(hex, 4, str);

//str 31323334

多位元組多編碼字串擷取

字串擷取,支援中文和其他編碼 static access public param string str 需要轉換的字串 param string start 開始位置 param string length 擷取長度 param string charset 編碼格式 param string s...

多位元組字元與寬字元

多位元組字符集 每個字元的編碼寬度不一,可為乙個位元組或多個位元組。1 ascii字元只佔乙個位元組 2 對於中文 日文等用兩個位元組 3 乙個字串中,如何區分哪個是中文字元,那個是ascii字元呢?windows程式設計 16進製制 10進製 的編碼wi ndow s程式設 計6e6fb3 cc ...

PHP最佳實踐之多位元組字串 字元編碼

多位元組字串 1 php假設字串中的每乙個字元都是八位字元,占用乙個位元組的記憶體。但是,你有可能會遇到多位元組字串。2 這裡所說的多位元組字串是指不在傳統的128個ascii字符集中的字元。如果使用php原生的字串函式處理這些多位元組unicode字串,會得到意外的錯誤。3 安裝mbstring擴...