- c里面如何做字符串替换(支持中文的),thanks(已解决)
- 怎么判断目录是否为空?
- 初学:VC执行SQL语句问题
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP 分别是什么意思?
- [Windows :<] 怎样用vc打开文件啊?
- typedef定义类型的问题
- socket传结构体的问题
- 关于gcc g++编译 警告的问题 (欢迎讨论)
- 请问一下大文本文件操作,怎样做有效率一点。
- 哪里有stl库,algorithm头文件函数的说明
- 让 system() 执行 grep "name" name_file.txt 的语法 怎么写呢?
- 为何我在intel pxa270上面移植mplayer不能播放realvideo!
- 编译的时候出了点问题
- 快要找工作了,我开始很恐惧了。请帮忙指点一下。
- gdk core dump
- 请教nat 的实现问题
- 100us延时校准函数
- 杀死所有子进程的 两种方法【已解决,建议保留】
- Linux 下用gdb调试多线程程序
- 基于mips的GDB调试报错
相信大家平时编程中有很多的时候是需要去处理各种字符集和各种程序本地化的,大家也肯定被这个问题困扰了很久,甚至根本在编程的时候无从下手,我个人左思右想,耐用水平有限,目前也是没有什么好办法。不知道大家有何高见?
字符处理具体在工程中的应用有以下几个例子:(这里我们主要说中文的本地化和字符处理)
中分分词(中科院分词/libmmseg/CRF+)
国家化(gettext)
C/C++据我所知,目前语言本身对字符处理的支持很有限,char/wchat_t,所谓的窄/宽字符,C/C++库也给这两种字符提供了各种标准函数。对于微软,还提供了另外一系叫mbs的所谓的多字节字符串函数。但是我个人感觉在处理中文的时候都特别的别扭不好用,而且wchar_t还问题多多,在win的msc下,这个是2字节,在gcc下是4个字节,尽管gcc有一个参数可以调整为2字节。
各种语言的策略:
java 统一2字节
python 2种,一种是所谓的unicode字符,一种是c字符串
c# 类似java
qt utf8(内部做了封装)
glib utf8
C/C++如果我用wchar_t,那么2字节估计是肯定装不完中文字符的,所以只有用4字节的,那么这个对中英文混合的文本是一个大浪费。如果用utf8的char来做,那么处理起来又不方便,不能将char当作语义上的字符,而需要去做各种各样的utf8特征识别。
还有gbk/utf8系大家使用过程中有什么建议或经验?(我个人是对gbk深恶痛绝,坚决用utf8,尽管gbk可能在搞中文的时候有一些好处,但是那点好处现在可以忽略不计了)
总之,这个语言对中文的支持相当的别扭,不知道大家在这方面有什么好的经验和建议?望cu上的各位高人不吝赐教(想清楚再说,别又硝烟四起成了战场),同时也希望大家把自己在编码过程中遇到的各种字符处理和字符集方面的问题提出来,大家一起讨论,坚决把这个问题搞定,免得以后疑惑。
该篇文章发表于:百家学院 (http://www.9php.com),复制请保留此行.
·上一篇:请教一个问,shell测试mysql密码的 · 下一篇:已经没有了

