三種常見中文內碼的轉換方法

2021-06-15 21:10:25 字數 1196 閱讀 5556

三種常見中文內碼的轉換方法

我們平時常見的三種中文內碼是:gb2312(簡體中文)、gbk、big5(正體中文)。網上有很多中文內碼的專用轉換工具。我們碰到由於內碼不一致而導致的亂麻問題,用這些工具可以進行相互轉換。但論壇裡經常有人問如何在自己的程式中整合這些功能呢?本文將介紹如何利用 windows 提供的api 函式來實現。轉換涉及到的 api 函式主要有兩個:multibytetowidechar 和 widechartomultibyte。有關這兩個函式的詳細文件請參考 msdn,本文不再贅述。

* big5 => gbk

* gbk => big5

* gb2312 => gbk

* gbk => gb2312

有關 gb2312 =〉big5 的轉換以及 big5 =〉gb2312 的轉換可以通過 gbk 間接實現。先將 gb2312 轉成 gbk,再將 gbk 轉成 big5,反之亦然。當然也可以自己實現它們之間的直接轉換。

// big5 => gbk:

void big52gbk(char *szbuf)    

__finally

}   

// gbk => big5

void gbk2big5(char *szbuf)    

__finally

}   

// gb2312 => gbk

void gb2gbk(char *szbuf)    

__finally

}   

// gbk =〉gb2312

void gbk2gb(char *szbuf)    

__finally

}   

// 呼叫示例

......    

char sourceencode[255];    

char szbuf[1024];    

// 從 gb2312 轉到 gbk 

strcpy(szbuf, sourceencode);    

gb2gbk(szbuf);    

// 從gb2312 轉到 big5,通過 gbk 中轉 

strcpy(szbuf, sourceencode);    

gb2gbk(szbuf);    

gbk2big5(szbuf);    

......    

}    

常見的三種撞庫方法

網易雲社群 在安全領域向來是先知道如何攻,其次才是防。在介紹如何防範 被黑客掃瞄撞庫之前,先簡單介紹一下什麼是撞庫 撞庫是黑客通過收集網際網路已洩露的使用者和密碼資訊,生成對於的字典表,嘗試批量登入其他 後,得到一系列可以登入的使用者。因為很多使用者在不同 使用的賬號密碼大多是相同的,因此黑客可以通...

字元轉換的三種方法

遇到乙個問題 修改 js 中 parseint 的呼叫方式,使之實現 輸入 0x12 輸出 0 源 如下,原 能實現,輸入 12 輸出12,輸入 12px 輸出 12 但是對上面的要求不符合。function parse2int num 修改如下 function parse2int num js中...

SQL累加常見的三種方法

有如下表add num 我們希望實現如下結果 開窗函式 學過開窗函式的小夥伴肯定首先想到的就是它了,不錯,開窗函式可以很快速的求解出來,具體寫法如下 select orderdate,sum amount over order by orderdate amount from add num 子查詢...