欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下實現(xiàn)UTF-8和GB2312互相轉(zhuǎn)換的方法

 更新時間:2016年12月26日 08:42:46   投稿:jingxian  
下面小編就為大家?guī)硪黄狶inux下實現(xiàn)UTF-8和GB2312互相轉(zhuǎn)換的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦

實例如下:

#include<iconv.h> #include <stdio.h>

#include<iconv.h>
using namespace std;
int utf8togb2312(const char *sourcebuf,size_t sourcelen,char *destbuf,size_t destlen) { 

iconv_t cd; 

if( (cd = iconv_open("gb2312","utf-8")) ==0 )  

  return -1; 

memset(destbuf,0,destlen); 

const char **source = &sourcebuf; 

char **dest = &destbuf;
if(-1 == iconv(cd,source,&sourcelen,dest,&destlen))  

  return -1; 

iconv_close(cd); 

return 0; 

}
int gb2312toutf8(const char *sourcebuf,size_t sourcelen,char *destbuf,size_t destlen) { 

iconv_t cd; if( (cd = iconv_open("utf-8","gb2312")) ==0 )  

return -1; memset(destbuf,0,destlen); 

const char **source = &sourcebuf; 

char **dest = &destbuf;
 if(-1 == iconv(cd,source,&sourcelen,dest,&destlen))  

return -1; 

iconv_close(cd); 

return 0; 

}
int main() { 

char line[80]; 

char dest_gb2312[200]; 

char dest_utf8[200]; 

int ret ; 

FILE *fp = fopen("love.txt","r"); 

if(fp == NULL) 

{  

printf("oh my dear,open fail...\n");  

return 1; 

}

 memset(line,0,80); 

if( NULL == fgets(line,80,fp)) 

{  

printf("oh fgets fail...\n");  

return 2; 

}

printf( "----- :%s\n",line );

ret = gb2312toutf8(line,strlen(line),dest_gb2312,200); 

// ret = gb2312toutf8(dest_gb2312,strlen(dest_gb2312),dest_utf8,80); 

printf( "ret=%d\n\n\n",ret); 

printf( "gb2312:%s\n",line ); 

printf( " utf-8:%s\n\n\n\n\n\n", dest_gb2312 );

 ret = utf8togb2312(dest_gb2312,strlen(dest_gb2312),dest_utf8,200); 

printf( "ret=%d\n\n\n ",ret); 

printf( " utf-8:%s\n ",dest_gb2312); 

printf( "gb2312:%s\n ",dest_utf8);

 return 0;

}

以上就是小編為大家?guī)淼腖inux下實現(xiàn)UTF-8和GB2312互相轉(zhuǎn)換的方法全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • linux 編譯安裝python3.6的教程詳解

    linux 編譯安裝python3.6的教程詳解

    這篇文章主要介紹了linux 編譯安裝python3.6的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • linux下建站目錄分配權(quán)限的經(jīng)驗技巧總結(jié)

    linux下建站目錄分配權(quán)限的經(jīng)驗技巧總結(jié)

    在建站的時候給目錄分配權(quán)限是非常重要的,也是建站的程序員們必須要會的,下面這篇文章主要給大家總結(jié)了在linux下建站目錄分配權(quán)限的經(jīng)驗技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置詳細介紹

    CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置詳細介紹

    這篇文章主要介紹了CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置詳細介紹的相關(guān)資料,這里對主要網(wǎng)絡(luò)問題進行了一一介紹及如何解決,需要的朋友可以參考下
    2016-11-11
  • Linux 目錄結(jié)構(gòu)詳細介紹

    Linux 目錄結(jié)構(gòu)詳細介紹

    這篇文章主要介紹了Linux 目錄結(jié)構(gòu)詳細介紹,文章內(nèi)容介紹的很詳細,有對于linux目錄結(jié)構(gòu)不是太了解的同學(xué)可以參考下
    2021-02-02
  • Linux下的 mariadb 使用 root 用戶啟動方式(推薦)

    Linux下的 mariadb 使用 root 用戶啟動方式(推薦)

    這篇文章主要介紹了Linux下的 mariadb 使用 root 用戶啟動方式,本文內(nèi)容雖然簡單,但是給大家介紹的非常到位,通過實例文字說明,需要的朋友可以參考下
    2019-11-11
  • Linux命令學(xué)習(xí)總結(jié):詳解reboot命令

    Linux命令學(xué)習(xí)總結(jié):詳解reboot命令

    這篇文章主要介紹了Linux命令學(xué)習(xí)總結(jié):詳解reboot命令,這個指令使用起來非常簡單,有興趣的可以了解一下。
    2016-11-11
  • linux中sed命令的使用與注意小結(jié)

    linux中sed命令的使用與注意小結(jié)

    sed本身也是一個管道命令,可以分析standard input的,sed可以將數(shù)據(jù)進行替換、刪除、新增、選取特定行等。下面這篇文章主要介紹了linux中sed命令的用法和注意事項,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • Linux工具之Nethogs按進程監(jiān)控網(wǎng)絡(luò)帶寬的安裝部署

    Linux工具之Nethogs按進程監(jiān)控網(wǎng)絡(luò)帶寬的安裝部署

    NetHogs是一個小型的net top工具,不像大多數(shù)工具那樣拖慢每個協(xié)議或者是每個子網(wǎng)的速度而是按照進程進行帶寬分組,這篇文章主要介紹了Linux工具Nethogs按進程監(jiān)控網(wǎng)絡(luò)帶寬,值得收藏,需要的朋友可以參考下
    2019-07-07
  • LINUX重啟MYSQL的命令詳解

    LINUX重啟MYSQL的命令詳解

    下面小編就為大家?guī)硪黄狶INUX重啟MYSQL的命令詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 使用VSCode和SSH進行遠程開發(fā)

    使用VSCode和SSH進行遠程開發(fā)

    這篇文章主要介紹了使用VSCode和SSH進行遠程開發(fā),文中通過圖文以及示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評論