CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

汉字,字节。快快快!!

楼主aleg(汝)2002-03-30 15:06:27 在 C++ Builder / 基础类 提问

如果一行汉字,读入时是从头一个汉字一个汉字的读入的。并且每个汉字分两个字节读入,如何才能在程序里得到汉字。就是怎么对一个汉字分成两个字节读入时,对这两个字节怎么处理才能得到汉字!!!! 问题点数:100、回复次数:13Top

1 楼greatefish(大鱼)回复于 2002-03-30 15:19:25 得分 20

1:不管是GB还是BIG5,它都是用两个字节来保存一个汉字  
  2:一个汉字的两个字节中,第一个字节的字符>127,第二个  
  字节就不一定了  
  3:例如:  
   
  char   cStr[81]="abc123你好123abc";  
  for(int   i=0;i<strlen(cStr);i+=2)//注意,i+=2  
  {  
      if(cStr[i]>127)//第i与i+1这两个字节是一个汉字  
      {  
          do   something  
      }  
  }Top

2 楼aleg(汝)回复于 2002-03-30 16:01:25 得分 0

两个字节怎么样相加才可以得到一个汉字呢???Top

3 楼fiveyes(天才的剽窃如羚羊挂角无迹可寻)回复于 2002-03-30 16:10:47 得分 20

开始->程序->Borland   C++Builder5->Help->Visual   Component   Library   Reference->Categorical   Routines   Listing->Mbcs   utilities,其中有你需要的函数,例如,ByteType可返回某一个字节的类型:它是一个单字节字符呢,还是一个多字节字符的第一个字节呢,还是一个多字节字符的第二个字节呢,使用起来很简单的。  
  这个方法仅能判断该不该把两个字节合成一个双字节字符来处理,却不能知道那个双字节字符是不是汉字,因为还有许多符号也是双字节的,如果你真的需要那样,可能还得在CSDN搜索一番。  
  我为什么不作出回答?因为我不会。:)Top

4 楼aleg(汝)回复于 2002-03-30 21:10:03 得分 0

也很感谢你了,至少也给我点建议!!  
  高手们,有没有人可以帮我解决这个问题呀!!!Top

5 楼songhtao(三十年孤独)回复于 2002-03-30 21:37:23 得分 10

AnsiString中有判断双字节的方法。Top

6 楼webtt(tt)回复于 2002-03-30 21:48:08 得分 10

曾经在DOS下做过,汉字库是UCDOS的,那是首先得到汉字的编码,然后从UCDOS提供的汉字库里根据公式计算汉字的位置,然后得到汉字字模,一个点一个点与出来的。那当然实在无中文状态下,在中文winxxx里我想,你只需要挨着输出就行了,我可能还不太明白你的问题。Top

7 楼cdws222(二当家)回复于 2002-03-30 22:19:15 得分 10

汉字的第一个字节的码值小于0(我在DOS下是这么做的)Top

8 楼yaohongwen(摇摇摇摇)回复于 2002-03-31 04:26:54 得分 10

看看汉字编码原理吧Top

9 楼aleg(汝)回复于 2002-03-31 13:58:23 得分 0

可能是小弟表达的不够清楚,而使各位不能完全理解小弟的意思。其实是这样的,就是form上的一个edit上面输入一行汉字,但是对汉字的处理有只能是一个个汉字来,而且每个汉字分两个字节取。小弟想知道的就是如何将这两个字节处理,在程序里就可以得到和外面读入的是一样的汉字。Top

10 楼mikesome()回复于 2002-03-31 14:28:10 得分 10

WideString  
  看帮助Top

11 楼aleg(汝)回复于 2002-03-31 15:05:11 得分 0

WideString这个是把汉字当一个字节处理的啊,我也知道的。但是根据我现在程序的情况是不能用WideString啊Top

12 楼leonpard(猪哥哥)回复于 2002-03-31 15:36:06 得分 10

AnsiString   有个方法叫IsLeadByte不知道有没有帮助,你  
  可以查看一下。Top

13 楼aleg(汝)回复于 2002-04-02 09:16:00 得分 0

多谢大家的关照,我已经完成了呢!!!现在就给你们加分。Top

相关问题

  • 如何显示4字节汉字?
  • 如何区分是汉字还是字母(1个字节和2个字节)?
  • 用什么函数能把 "单字节" 的汉字转化正 "双字节"
  • php中如何识别汉字呢?得到汉字的字节数.
  • 求解:含有汉字及数字的字节长度。
  • 请教双字节编码的汉字问题
  • VB如何提取汉字的字节数
  • 如何取字符串(含汉字)中的字节数?
  • VC中一个汉字占几个字节?
  • 如何读取文本文件中的汉字(双字节)

关键词

  • 汉字
  • 字符
  • 读入
  • 小弟
  • 程序
  • 得到
  • 处理
  • 知道
  • 方法
  • 需要

得分解答快速导航

  • 帖主:aleg
  • greatefish
  • fiveyes
  • songhtao
  • webtt
  • cdws222
  • yaohongwen
  • mikesome
  • leonpard

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo