免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2485 | 回复: 8
打印 上一主题 下一主题

[C++] 源文件用的编码对其中的字符串变量的编码有影响吗 ? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-11 22:49 |只看该作者 |倒序浏览
RT,
如果我源文件用的是UTF-8编码或是GBK编码 那对其中的字符串变量的编码有影响吗 ?
如果有大侠给我讲讲编码的问题那就更好了,一直很疑惑这个东西。

论坛徽章:
0
2 [报告]
发表于 2010-07-11 23:12 |只看该作者
对编译有影响,如果编译器不能正确识别文件的编码,就会出现问题。推荐全部用UTF-8 BOM格式来存放源程序文件。

论坛徽章:
0
3 [报告]
发表于 2010-07-12 09:34 |只看该作者
很有影响。 这个不知道怎么做呢


我现在都是gb212 代码。 g++ 代码再内部用iconv 进行一次转换。

好像直接保存utf-8 格式源码 g++ 会有问题 vc2005 不会 头疼

论坛徽章:
0
4 [报告]
发表于 2010-07-12 11:59 |只看该作者
回复 3# benjiam


    g++编译前要设置正确的环境变量。或者文件带UTF-8 BOM。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
5 [报告]
发表于 2010-07-12 12:03 |只看该作者
没想过,我什么都是utf-8。

论坛徽章:
0
6 [报告]
发表于 2010-07-13 05:47 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
7 [报告]
发表于 2010-07-13 07:57 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2010-07-13 09:15 |只看该作者
我昨天做了一个测试

你好 这样2个中文

gb2312 码是 C4E3 BaC3
Utf-8   e4 bd a0 e5 a5 bd
unicode-16   60 F 7D 59


这样一行代码
char * p = "你好"

vc2005 下编译

源文件使用gb2312

内存中保持为 gb2312


源码为utf-8 BMO
内存中为 GB2312


源码为UTF-8 without BMO

内存为UTF-8


源码为Unicode

内存为 GB2312







wchar_t *p = L"你好"

这样一句

源文件使用gb2312

内存中保持为 unicode编码


源码为utf-8 BMO
内存中为 unicode编码


源码为UTF-8 without BMO

内存为???  63 bd b2 72 bd 30 ???



源码为Unicode

内存为 unicode 编码



在linux 下

char *p = " 你好"

首先unicode 编码的文件  我无法编过。
utf-8 BMO 也无法编译

gb2312 是可以的。
需要设置locale zh_CN.gb2312  

内存里面保存的是 gb2312

utf-8
设置成zh_CN.UTF-8 可以编过
可以正常显示
内存里面是 Utf-8编码


wchar_t p =l"你好“
gb2312 utf-8 bmo unicode 都无法编译

utf-8 可以编译

内存里面放置的是 utf-32 编码
内存是unicdoe 的utf-32 编码


所以希望用一种源码格式 跨平台 跨编译器  问题挺多的。

论坛徽章:
0
9 [报告]
发表于 2010-07-17 11:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP