免费注册 查看新帖 |

Chinaunix

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

redhat Enterprise Linux 5 汉字占用字节数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-18 14:31 |只看该作者 |倒序浏览
我以前的代码是在redhat 7.1 上用c写的,当时一个汉字占2个字节,所以把汉字都按2个字节处理了。现在要把平台升级到 redhat Enterprise Linux 5,可是在这个平台(rhel 5)下一个汉字占3个字节。怎么才可以使每个汉字仍然占用2个字节呢?

       望高手指教,先谢谢了

论坛徽章:
0
2 [报告]
发表于 2008-02-18 15:01 |只看该作者
gb编码的汉字占2个字节,utf8编码的汉字占3个字节。

论坛徽章:
0
3 [报告]
发表于 2008-02-18 16:20 |只看该作者
处理汉字比你想象的复杂, 汉字究竟占用几个字节取决于编码的specification.
unicode 里面还有4字节编码的情况(被看做是两个unicode).
utf-8, utf-16也是变长的, 不能一概而论, utf-8更适合处理英文为主的传输.
gb18030是目前强制国标, 也包括了4字节编码.

论坛徽章:
0
4 [报告]
发表于 2008-02-18 16:44 |只看该作者
我在vim的 配置文件 ~/.vimrc 中添加一句 set fileencoding=chinese ,然后用vim编程测试,结果就是我想要了,一个汉字占两个字节

即:
[oracle@Test ~]$  file t.c
t.c: ISO-8859 C program text          // 此时汉字占两个字节

而不设置 fileencoding 时,用vim编同一个程序
[oracle@Test ~]$  file t.c
test_not_set_vim.c: UTF-8 Unicode C program text    // 此时汉字占三个字节
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP