当前位置: 技术问答>linux和unix
Linux下Unicode向GB2312转换问题(含源代码和输出结果)
来源: 互联网 发布时间:2015-09-16
本文导语: 用iconv -l命令参看Linux含有unicode和GB2312码表 可是运行下面程序,结果总是怪怪的, 大家帮我看看哪里出了问题 原代码如下: #include #include #include #define BUF_LEN 20 int main(void) { iconv_t cd; short testbuf[BUF_LEN]; cha...
用iconv -l命令参看Linux含有unicode和GB2312码表
可是运行下面程序,结果总是怪怪的, 大家帮我看看哪里出了问题
原代码如下:
#include
#include
#include
#define BUF_LEN 20
int main(void)
{
iconv_t cd;
short testbuf[BUF_LEN];
char Buf[BUF_LEN];
char *InBuf = (char*)&testbuf;
char *OutBuf = Buf;
int InLen = 0;
int OutLen = BUF_LEN;
int i = 0;
memset(testbuf, 0, BUF_LEN);
testbuf[0] = 0x0074;
testbuf[1] = 0x0056;
testbuf[2] = 0x0073;
testbuf[3] = 0x0074;
testbuf[4] = 0x0000;
InLen = 10;
for(i = 0; i
可是运行下面程序,结果总是怪怪的, 大家帮我看看哪里出了问题
原代码如下:
#include
#include
#include
#define BUF_LEN 20
int main(void)
{
iconv_t cd;
short testbuf[BUF_LEN];
char Buf[BUF_LEN];
char *InBuf = (char*)&testbuf;
char *OutBuf = Buf;
int InLen = 0;
int OutLen = BUF_LEN;
int i = 0;
memset(testbuf, 0, BUF_LEN);
testbuf[0] = 0x0074;
testbuf[1] = 0x0056;
testbuf[2] = 0x0073;
testbuf[3] = 0x0074;
testbuf[4] = 0x0000;
InLen = 10;
for(i = 0; i