读取AUTOCAD生成的DXF文件,只有中文部分是乱码。
复制粘贴到一个新建的文件里,读取就是正确的了。
读取部分代码:
fopen_s(&pStream, FileName, "rb" );
fread(ReadBuffer, sizeof(char), READBUFFERSIZE, pStream);读到BUFFER里的时候就是乱码。
复制粘贴到一个新建的文件里,读取就是正确的了。
读取部分代码:
fopen_s(&pStream, FileName, "rb" );
fread(ReadBuffer, sizeof(char), READBUFFERSIZE, pStream);读到BUFFER里的时候就是乱码。
能说具体些么,不懂。文件中是“你好”两个字。在我读入的BUFFER中,对应的是6个字符。-28、-67、-96、-27、-91、-67
不是一个中文2个字符么
utf-8 英文一个字节,中文三个字节
{
INT nLen;
CHAR *pcBuf;
pcBuf = (CHAR *)str.GetBuffer(str.GetLength());
nLen = MultiByteToWideChar(/*CP_ACP|*/CP_UTF8, 0, pcBuf, -1, NULL, 0);
// (Unicode环境WCHAR需要加1,默认已经加1了)
WCHAR *pwBuf = new WCHAR[nLen];
memset(pwBuf, 0, nLen);
MultiByteToWideChar(/*CP_ACP|*/CP_UTF8, 0, pcBuf, -1, pwBuf, nLen);
stro->Format(_T("%s"), pwBuf);
delete []pwBuf;
// delete []pcBuf;
}
把utf-8 转为unicode