Linux使用iconv進行編碼轉換

2021-08-29 07:17:37 字數 1073 閱讀 9443

最近在做專案,為了能讓ui顯示中文,需要對中文進行編碼轉換。因為我用的是directfb,它只支援utf-8格式,所以要將gb2312轉換為utf-8,這時使用iconv是非常方便的。

以下是我在專案中用到的一部分**。

首先要使用iconv的api需要包含它的標頭檔案#include "iconv.h" 或者#include

#define outlen 512

int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)

/*unicode碼轉為gb2312碼*/

int u2g(char *inbuf,int inlen,char *outbuf,int outlen)

/*gb2312碼轉為unicode碼*/

int g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen)

void test_ui()

;char *tmp = null;

rect.x = qrcode_x-190;

rect.y = qrcode_y+qrcode_h+180;

rect.w = qrcode_w+700;

rect.h = qrcode_h;

/*unicode碼轉為gb2312碼*/

rc = u2g(in_utf8,strlen(in_utf8),out,outlen);

printf("unicode-->gb2312 out=%sn",out);

//gb2312碼轉為unicode碼

rc = g2u(in_gb2312,strlen(in_gb2312),out,outlen);

printf("gb2312-->unicode out=%sn",out);

textfield(out, strlen(out), version_color, 24, rect, actuitext_left, bgwindow);

auiblitwindow(bgwindow, null);

}

在Linux下使用iconv轉換字串編碼

在linux下寫c程式,尤其是網路通訊程式時經常遇到編碼轉換的問題,這裡要用到iconv函式庫。iconv函式庫有以下三個函式 include iconv t iconv open const char tocode,const char fromcode return iconv t 1 if f...

在Linux下使用iconv轉換字串編碼

在linux下寫c程式,尤其是網路通訊程式時經常遇到編碼轉換的問題,這裡要用到iconv函式庫。iconv函式庫有以下三個函式 123 456 include iconv t iconv open const char tocode,const char fromcode return iconv ...

linux使用iconv在不同字元編碼中轉換

在linux系統下利用iconv命令進行gbk與utf 8字元編碼間的轉換 gbk編碼和utf 8編碼的區別 1.gbk的文字編碼是雙位元組來表示的,即不論中 英文本元均使用雙位元組來表示,只不過為區分中文,將其兩個位元組的最高位都定成1。utf 8編碼則是用以解決國際上字元的一種多位元組編碼,它對...