C中字串UTF 8和GB2312互轉

2021-07-12 08:09:34 字數 469 閱讀 5932

在程式設計過程中需要對字串進行不同的轉換,特別是gb2312和utf-8直接的轉換。在幾個開源的魔獸私服中,很多都是老外開發的,而暴雪為了能 夠相容世界上的各個字符集也使用了utf-8。在中國使用vs(vs2005以上版本)開發基本都是使用gb2312的unicode字符集,所以當在編 程過程中就需要進行字元轉換,這樣才能相容遊戲,否則就是亂碼。而在控制台顯示字串時,真好相反需要將utf-8的字串轉換成gb2312才能正常顯 示。

為了解決這個問題,本人將其**貼出來;其實很多地方都可以使用到字串的編碼轉換,**如下:

/utf-8到gb2312的轉換

char* u2g(const char* utf8)

//gb2312到utf-8的轉換

char* g2u(const char* gb2312)

無論是gb2312到utf-8的轉換,還是utf-8到gb2312的轉換,都需要注意的是在使用字串後,需要刪除字串指標;

c語言中關於utf 8編碼轉換為gb2312的問題

在網上查到如下 問題是 輸出發現gb2312 utf8是沒問題的,但是utf8轉為gb2312時發現只轉換了英文部分,漢字部分並沒有轉換,期待高手釋疑!include include include include define outlen 255 main 轉換 從一種編碼轉為另一種編碼 int...

C 中GB2312字串和UTF 8之間的轉換

用以學習 在程式設計過程中需要對字串進行不同的轉換,特別是gb2312和utf 8直接的轉換。在幾個開源的魔獸私服中,很多都是老外開發的,而暴雪為了能 夠相容世界上的各個字符集也使用了utf 8。在中國使用vs vs2005以上版本 開發基本都是使用gb2312的unicode字符集,所以當在編 程...

C 中GB2312字串和UTF 8之間的轉換

在程式設計過程中需要對字串進行不同的轉換,特別是gb2312和utf 8直接 的轉換。在幾個開源的魔獸私服中,很多都是老外開發的,而暴雪為了能夠相容世界上的各個字符集也使用了utf 8。在中國使用vs vs2005以上版 本 開發基本都是使用gb2312的unicode字符集,所以當在程式設計過程中...