4月11日,string这差距怎么就这么大呢
2006-04-11 15:42
246 查看
今天偶尔处理到了冷僻字这个问题。
我们知道,在c++中如果是这样一个string a="中国";
那么它的长度就是4,也就是每个汉字占两个字节
但是在c#中这样一个语句下来长度就变成了2,后来有人告诉我是因为存储编码的方式不同,我还没怎么理解
而这么一来
原有程序有个判别是否为生僻字这一块
就出现了问题
因为处理过程是把其打到char[](比如“中国”就是四个元素)里然后取一个汉字的第一个字节转换成高字节判断再
取一个汉字的低字节进行判断
但是在c#中,打到char[],这样比如“中国”就是两个元素了,无从谈起怎么判别是否为生僻字了
或许应该换个思路来解决这个问题,还是让我再好好想一想吧,也希望有高人给我指点一下。
add:其实想实现的功能是把一个汉字的编码由gbk转换成unicode的编码形式
但是我不晓得这个在BS开发上能否用的上,因为也是要求用CS的思路来让我写这个方法
我们知道,在c++中如果是这样一个string a="中国";
那么它的长度就是4,也就是每个汉字占两个字节
但是在c#中这样一个语句下来长度就变成了2,后来有人告诉我是因为存储编码的方式不同,我还没怎么理解
而这么一来
原有程序有个判别是否为生僻字这一块
就出现了问题
因为处理过程是把其打到char[](比如“中国”就是四个元素)里然后取一个汉字的第一个字节转换成高字节判断再
取一个汉字的低字节进行判断
但是在c#中,打到char[],这样比如“中国”就是两个元素了,无从谈起怎么判别是否为生僻字了
或许应该换个思路来解决这个问题,还是让我再好好想一想吧,也希望有高人给我指点一下。
add:其实想实现的功能是把一个汉字的编码由gbk转换成unicode的编码形式
但是我不晓得这个在BS开发上能否用的上,因为也是要求用CS的思路来让我写这个方法
相关文章推荐
- 同样都是搞技术的,国内和国外的差距,怎么就这么大呢?
- 前后是两个公司,差距怎么就这么大呢(东北腔)?
- 都是搜索,差距怎么这么大呢,坑爹啊!!
- 差距怎么就这么大呢
- 漫画研发之六: 同学间的差距怎么这么大呢?
- 国书与洋书怎么差距还是这么大呢?
- C++用map记录字符串,怎么用map<string,int>才会不超时
- const char *string() const怎么解释?为什么有两个const
- Android 怎么把异常的StackTrace信息格式化为String
- 这个破分怎么这么麻烦
- python里使用string.Template怎么避免抛出异常
- 同一部电影,为啥豆瓣、格瓦拉、IMDb 评分差距这么大?
- 实战c++中的string系列--不要使用memset初始化string(一定别这么干)
- 需要的资源怎么下载一下就这么费劲!
- 安卓模拟器这么慢,大家都怎么调试的?
- 深度访谈:智能家居这么火,该怎么赚钱?
- 在C#中,string 类型可与SQL SERVER中的int 类型作比较,是怎么回事?
- Netflix on Linux:如何在Linux上使用Netflix以及为什么在Linux上使用Netflix怎么就这么难
- 好郁闷,怎么这么大的雨。
- 这里的资源是还可以 可是下载怎么这么慢啊 还总断 太不爽了