亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

libiconv字符集轉換庫使用方法

系統 2224 0

在軟件開發中不可避免的需要用到字符集的轉換;轉換方法很多如自行編寫字符集轉換庫、利用 Windows 提供之 MultiByteToWideChar 函數等;自行編寫相對周期較長,而利用 MultiByteToWideChar 等函數進行轉換在跨平臺移值時帶來很大的不方便;所以在本文里我們將講述如何利用在 Linux Windows 下都可用的 libiconv 庫進行字符集的轉換。
我們可以從 http://www.gnu.org/software/libiconv/ 上下載最新版本的 libiconv ;本文里以 libiconv-1.9.2-1.exe 為例子說明安裝與使用方法; libiconv 的安裝非常的方便,就和大多數的 Windows 應用程序安裝一樣直接 Step by Step 就可以了;在安裝過程中會提示你是否下載源代碼,源代碼說白了對我們也沒有多大的用處所以就不選擇下載源代碼;安裝完之后在 libiconv 的安裝目錄下的 man/pdf 目錄中有一個 libiconv-man.pdf ,這個文件就是 libiconv 相關函數的說明;所以如果你對 libiconv 還不是很熟悉的話請看一下這個文件。
為了在 VC6 中使用 libiconv 庫我們必需對 VC6 進行相應的設置;從 VC6 的菜單欄中選擇 Tools à Options.. ,在彈出的對話框中選擇 Directories 選項卡,在 Show directories for 下拉框中選擇 Include files ,在最下方的 Directories: 中添加上 libiconv 安裝目錄下的 include 目錄,如下圖(圖 1-1 )所示:


1-1
這樣我們就配置了 iconv.h 文件查找目錄;由于 libiconv 要用到 libiconv.lib 所以接下來我們應該配置一下 libiconv.lib 文件的查找目錄;在圖 1-1 Show directories for 下接框中選擇 Library files ,在最下方的 Directories: 列表中添加上 libiconv 安裝目錄下的 lib 目錄; OK 配置完成點擊 OK 按鈕就可以了;為了測試方便我們應該所 libiconv 安裝目錄下之 bin 目錄下的 libiconv2.dll 復制到系統的 System32 目錄下。
轉換例子如下:
#include <stdio.h>
#include <string.h>
// 包函 libiconv 庫頭文件
#include <iconv.h>
// 導入 libiconv
#pragma comment(lib,"libiconv.lib")

int ChangeCode( const char* pFromCode,
const char* pToCode,
const char* pInBuf,
size_t* iInLen,
char* pOutBuf,
size_t* iOutLen );

int main( int argc, char* argv[] )
{
char sInBuf[100];
char sOutBuf[100];
size_t iInLen = 0;
size_t iOutLen = 100;
int iRet;
strcpy( sInBuf, " 測試 Test Source" );
memset( sOutBuf, 0x00, 100 );
iInLen = strlen( sInBuf );
iRet = ChangeCode( "GBK", "UTF-16", sInBuf, &iInLen, sOutBuf, &iOutLen );
return 0;
}

int ChangeCode( const char* pFromCode,
const char* pToCode,
const char* pInBuf,
size_t* iInLen,
char* pOutBuf,
size_t* iOutLen )
{
int iRet;
// 打開字符集轉換
iconv_t hIconv = iconv_open( pToCode, pFromCode );
if ( -1 == (int)hIconv )
{
return -1;// 打開失敗,可能不支持的字符集
}
// 開始轉換
iRet = iconv( hIconv, (const char**)(&pInBuf), iInLen, (char**)(&pOutBuf), iOutLen );
// 關閉字符集轉換
iconv_close( hIconv );
return iRet;
}
字符集的轉換就是這么的簡單;當然如果你有興趣的話在 Linux 下也去安裝一下 libiconv 然后把上面那段代碼放到 Linux 下用 gcc 編譯一下看看。

libiconv字符集轉換庫使用方法


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品96欧美一区二区 | 久久aa毛片免费播放嗯啊 | 日韩伦理亚洲欧美在线一区 | 四虎最新紧急更新地址 | 按摩毛片 | 久久精品视频大全 | 久久久综合香蕉尹人综合网 | 成人国产精品 | 久久久久久国产精品视频 | 亚洲成色综合一区二区三区四区 | 久久九九热re6这里有精品 | 99在线观看精品 | 国产理论视频在线观看 | bbw老妇xxx | 女胁师~牝奴隷调教 | 99久久精品国产亚洲 | 国产成+人欧美+综合在线观看 | 四虎影视永久免费观看网址 | 亚洲人成伊人成综合网久久久 | 2019年国产高清情侣视频 | 高清不卡一区二区 | 亚洲欧美综合视频 | 久久影院朴妮唛 | 久久精品国产视频 | 四虎国产免费 | 瑟瑟视频在线观看 | 久久大伊人 | 亚洲天天做日日摸天天做 | 好男人午夜影院 | 四虎黄色影院 | 亚洲国产精品一区二区不卡 | 亚洲精品高清国产麻豆专区 | 极品福利 | 免费区欧美一级毛片精品 | 一级女性全黄生活片看看 | 爱婷婷网站在线观看 | 国产一区二区三区免费观看 | 在线观看欧美一区 | 一级毛片在线免费观看 | 欧美毛片日韩一级在线 | 日本一级特黄aa毛片免费观看 |