/Od /I ".\GeneratedFiles" /I "\include" /I ".\GeneratedFiles\Debug" /I "\include\QtCore" /I "\include\QtGui" /I ".\\" /I "D:\我的文档\Visual Studio 2008\Projects\DataStruct" /I "D:\我的文档\Visual Studio 2008\Projects\boost_1_40_0" /I "D:\我的文档\Visual Studio 2008\Projects\CTP_FILE" /I "D:\test" /D "UNICODE" /D "WIN32" /D "QT_LARGEFILE_SUPPORT" /D "QT_THREAD_SUPPORT" /D "QT_CORE_LIB" /D "QT_GUI_LIB" /D "_MBCS" /FD /EHsc /MDd /Zc:wchar_t- /Fo"Debug\\" /Fd"Debug\vc90.pdb" /nologo /c /Zi /TP /errorReport:prompt
这是现在我编译器的选项,里面确实有一个/D "UNICODE",但是我已经在VS项目属性里把字符集设置为“多字节字符集”了,但是这个选项还是在的
1. 使用qt提供的字节序转换函数 T qFromBigEndian(const uchar * src)T qFromBigEndian(T src)T qFromLittleEndian(const uchar *
2. 使用QDataStream来读写QByteArray, QDataStream
我觉得你没有理解意思char[3]="汉"那是
你的编辑器将你的
汉字存成了GBK的两个字节。所以char[0] char[1]是汉字的GBK编码,而char[3]是\n。
你在qt里如果用char 而不是Qchar的话,其实是没有区别的,主要看你的ide编辑器用的是什么编码。如果用GBK还是一样,如果用utf-8那就不一样了。
个人感觉你是ide编码设置问题。
评论列表(0条)