导航:首页 > 源码编译 > vc编译属性为utf怎么改

vc编译属性为utf怎么改

发布时间:2022-04-24 13:49:03

Ⅰ 怎样在vc中使用utf-8

int MultiByteToWideChar(
UINT CodePage, // code page
DWORD dwFlags, // character-type options
LPCSTR lpMultiByteStr, // string to map
int cbMultiByte, // number of bytes in string
LPWSTR lpWideCharStr, // wide-character buffer
int cchWideChar // size of buffer
);
CodePage可以选CP_UTF8

Ⅱ VC++中如何改变文件编码方式

据我所知,VC里对于文件不管什么编码的,对于VC来说它只认识二进制数据。比较接近物理底层,呵呵,我刚从VC转向.net的时候也对.net的编码郁闷了一段时间。

你可以使用_T("")宏把字符串转成UNICODE编码,不如_T("Hello World!"),不过可不能再保存到char数组里了,微软给我们准备了一个TCHAR,其实就是一个 short int型数组,UNICODE 需要2个字节来表示一个数组,现在只要把TCHAR内存块写进文件就OK了,对C++来说它还是一串二进制数据。

另外,微软极力建议使用_T("")宏,所以请不要嫌麻烦,养成好的习惯是非常重要的!

Ⅲ vc++ 转换字符串的编码

UTF-8与GB2312之间的互换
相信一定有不少的程序开发人员时常会遇到字符编码的问题,而这个问题也是非常让人头痛的。因为这些都是潜在的错误,要找出这些错误也得要有这方面的开发经验才行。
这两个函数就可以解决问题了
int WideCharToMultiByte(
UINT CodePage, // code page
DWORD dwFlags, // performance and mapping flags
LPCWSTR lpWideCharStr, // wide-character string
int cchWideChar, // number of chars in string
LPSTR lpMultiByteStr, // buffer for new string
int cbMultiByte, // size of buffer
LPCSTR lpDefaultChar, // default for unmappable chars
LPBOOL lpUsedDefaultChar // set when default char used
); //将宽字符转换成多个窄字符

int MultiByteToWideChar(
UINT CodePage, // code page
DWORD dwFlags, // character-type options
LPCSTR lpMultiByteStr, // string to map
int cbMultiByte, // number of bytes in string
LPWSTR lpWideCharStr, // wide-character buffer
int cchWideChar // size of buffer
);//将多个窄字符转换成宽字符 需要用到的一些函数
//-----------
也就是说,你在你的程序中直接调用上面两个函数,就可以实现你要的转换,你的问题中要的答案我已经说了,难道楼主要自己写个模板来实现吗?
更详细是这样:
UTF-8: 3字节一个字符
UNICODE: 2字节一个字符
GB2312: 1字节一个字符

例子:

“你”字的UTF-8编码: E4 BD A0 11100100 10111101 10100000
“你”的Unicode编码: 4F 60 01001111 01100000
按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000
把除了x之外的数字拼接在一起,就变成“你”的Unicode编码了。
注意UTF-8的最前面3个1,表示整个UTF-8串是由3个字节构成的。
经过UTF-8编码之后,再也不会出现敏感字符了,因为最高位始终为1。

/*---------*/
自己写函数来实现就是(参考如下):
void UTF_8ToGB2312(string &pOut, char *pText, int pLen)
{
char * newBuf = new char[pLen];
char Ctemp[4];
memset(Ctemp,0,4);

int i =0;
int j = 0;

while(i < pLen)
{
if(pText > 0)
{
newBuf[j++] = pText[i++];
}
else
{
WCHAR Wtemp;
UTF_8ToUnicode(&Wtemp,pText + i);

UnicodeToGB2312(Ctemp,Wtemp);

newBuf[j] = Ctemp[0];
newBuf[j + 1] = Ctemp[1];

i += 3;
j += 2;
}
}
newBuf[j] = '\0';

pOut = newBuf;
delete []newBuf;

return;
}

Ⅳ 怎么将VS2013的默认编码改为UTF8

修改成UTF8的方法:
1、windows->Preferences...打开"首选项"对话框, 左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
2、 windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件 如:properties、XML等已经由MyEclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指 定。
3、经过上述两步,新建java文件即为UTF-8编码,MyEclipse编译、运行、调试都没问题,但是做RCP应用的Proct输 出时、或者插件输出时,则总是出错,要么不能编译通过(输出时要重新compile)、要么输出的插件运行时中文显示乱码。此时需要再RCP应用、或插件 Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。让输出时编译知道java源文件时UTF-8编码。这个设置需要保证所有的java源文件时UTF-8编码格式,如果不全是,可以参考 MyEclipse帮中(Plug-in Development Environment Guide > Reference > Feature and Plug-in Build configuration),建议全部java源文件是UTF-8编码。

Ⅳ VC6.0中怎么设置输出的TXT文件编码为UTF-8

输出正确的UTF-8纯文本文件分为两个步骤:

  1. 写BOM文件头。UTF-8编码是EF BB BF

  2. 将文本通过MultibyteToWideChar转换为UTF8格式,写入文件。

需要注意的有两条,一个是,不能以文本方式打开(因为BOM是不可打印的),一个是编码转换要确认初始编码是什么。

Ⅵ C++ 在写入文件的时候,如何设置流的编码方式为UTF-8

wofstream wofile("file");
wofile.imbue(locale( "", locale::all ^ locale::numeric));
“”表示表示使用本地语言,这里当然相当于“chs”或者“chinese”。
locale::all表示使用该语言的所有格式设置进行编码转换!
^是异或,locale::numeric表示数字格式。这里的意思是避免转换数字格式!否则123456输出结果会成为123,456这种形式!
1)std::ofstream 支持中文的文件名,可以正常的写入中文(MBCS编码)==>std::string类型
(2)std::wofstream 支持中文的文件名,可以正常的写入中文常量(不带L),如果是带上L的话,需要将Locale设置成"chs"模式,对应std::wstring类型的变量(包含中文)写入文件时,一定要将Locale设置成"chs"模式,否则不能正常写入。
(3)宽字符的流(前面带w的)==>支持按照MBCS写文件,但是仅仅局限于常量比如std::wcout<<"wcout测试";对于MBCS的变量(std::string)来说将会产生编译错误,例:std::string str = "中文";std::wcout<<str;
(4)对于宽字符的流如果是指明使用Unicode的话(std::wstring),就需要相应的设置区域了,调用相应的imbue方法
(5)总结一般的读写文件使用std::ofstream就行了,支持汉语,==>包括文件名,和文件写入

Ⅶ 使用vc6操作mysql,表为utf8编码,insert中文,如何解决乱码

在mysql
安装目录下找到my.ini
文件夹
修改一下配置即可。将编码方式改成gb2312如图

Ⅷ VC 中如何改变文件编码方式

在菜单: file/advanced save options/unicode utf8这里设置;
带签名指文件头包含编码信息。
EF BB BF,这三个字节代码这个文件时UTF8编码。
FF FE:代表这是 UTF16 LE(小字节序)编码 。
FE FF : 代表是 UTF16 BE(大字节序)。
详细的资料可以去查询UNICODE编码规范。

Ⅸ VC++ 怎么改变文件的编码为 UTF-8

这个暂时没有一步实现的方法,首先你要先理解原理 WINDOWS内部是使用宽字节的,用的是unicode 所以你首先要把 ANSI=>Unicode,用函数MultiByteToWideChar实现 然后再把Unicode=>UTF8,用函数WideCharToMultiByte实现 原理就这样,至于具体怎么用

Ⅹ VC++ 写入保存txt文件怎么设置它的编码方式,比如我想从默认的ANSI变为UTF-8,这在VC中怎么实现

这个暂时没有一步实现的方法,首先你要先理解原理

WINDOWS内部是使用宽字节的,用的是unicode

所以你首先要把 ANSI=>Unicode,用函数MultiByteToWideChar实现

然后再把Unicode=>UTF8,用函数WideCharToMultiByte实现

原理就这样,至于具体怎么用,再网络一把吧,网上很多例子,勤奋的双手创造财富

阅读全文

与vc编译属性为utf怎么改相关的资料

热点内容
汽车活动广告宣传有什么app 浏览:753
富二代f2抖音app怎么玩 浏览:926
java线程启动线程的方法 浏览:252
两位数互补算法 浏览:781
甲骨文云服务器登录 浏览:776
程序员那么可爱在哪里可以免费观看 浏览:566
台湾服务器地址大全 浏览:192
安卓自动美颜怎么关 浏览:960
java手动释放内存 浏览:868
迷你世界怎么自己创服务器 浏览:811
cmd命令不能运行 浏览:298
最新pdf阅读 浏览:756
c语言中的排序算法 浏览:597
php原生链接数据库 浏览:45
web前端后端程序员 浏览:25
万能zip的压缩包怎么解压 浏览:41
国内动漫用什么app看 浏览:354
树莓派高级编程 浏览:929
30岁学编程晚吗 浏览:69
解压专家怎么打开 浏览:87