编码测试

我昨天做了一个测试

你好 这样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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值