Linux 下實現UTF8轉Unicode

2021-09-30 09:21:54 字數 778 閱讀 6040

最近用到sim卡發簡訊,需要提取傳送的資料,並將傳送的資料轉為unicode碼,因為利用pdu模式傳送簡訊的時候,需要unicode碼才能傳送。

對資料的轉換需要了解,資料在linux下被儲存為什麼型別的碼值,以及目前的碼值轉換為unicode需要怎樣處理。

linux下的資料在記憶體裡的儲存是utf8格式,所以轉換為unicode,就需要考慮怎樣從utf8轉到unicode碼,利用下面的**就可以得到unicode碼。

#include

#include

#include

#include

#include

void tounicode(wchar_t *pwstring, char *presult)

}int main(int argc, char *ar**)

char dest[1024];

memset(dest,0x00,1024);

strcpy(dest,"好好學習");

if(argc > 1)

wchar_t wbuf[256];

size_t rc = mbstowcs(wbuf,dest,sizeof(wbuf)/sizeof(wbuf[0]-1));

if(rc >= 0)

return 0;

}最後列印出來的資料就是以unicode碼值顯示出來,例如這裡的結果,如果沒有輸入引數,就會列印「好好學習」的unicode碼:597d597d5b664e60。

在這裡需要設定setlocale為utf-8格式,才能正確的轉換。

《轉》亂碼UTF8和UTF 8網頁編碼

曾經被字符集間複雜的轉換搞怕了,正好新專案要求國際化,需要能夠顯示多種語言,於是一開始就規定統統使用 utf 8 編碼。所有 檔案使用 utf 8 編碼存檔 mysql資料庫所有表,所有字段設定 collation 中文翻譯為 整理 屬性為 utf8 general ci 所有頁面輸出 即便是這樣,...

泰文utf 8轉unicode編碼實現

前言 最近的有個專案是要讀取泰文然後將泰文疊加到上。查了一周的資料,所有的流程已經走通了。泰文轉成unicode編碼 泰文實際上是utf 8編碼的,這也就是編譯器以utf 8的格式才可以正常顯示泰文的原因。unicode編碼轉成泰文並進行疊加 泰文渲染是採用了freetype第三方庫進行顯示的,fr...

java gbk轉utf 8亂碼問題

最近在做乙個反饋功能,把資料反饋到對方公司 我公司是gbk編碼,對方公司是utf 8編碼。因此,我需要將gbk編碼資料轉換成utf 8編碼資料,這樣對方 才不會亂碼。最簡單的方法是將httpclient的contentcharset設定為utf 8 如果contentcharset是gbk並且又不想...