三種常見中文內碼的轉換方法
我們平時常見的三種中文內碼是: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 子查詢...