有的符号中英文状态是一样的?

lianrouwupan 2014-06-06 09:51:22
最近写了一道程序,用来检测字符串是否包含汉字或中文状态下的标点符号。测试程序的时候,我发现有的标点符号的中英文状态占用的字节数是一样,外观也一模一样。如@#&%等,这该如何理解?
...全文
587 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianrouwupan 2014-06-08
  • 打赏
  • 举报
回复
引用 6 楼 ccrun 的回复:
ShowMessage(strlen(",")); //中文半角的逗号,显示2 你这行代码里的逗号,根本不是半角的。肉眼都能看出来那是个全角的逗号。用strlen去判断,当然要返回2了。
好吧,被输入法欺骗了。
hyz_cs 2014-06-08
  • 打赏
  • 举报
回复
","这是全角 ","这才是半角 楼主是没考虑到中英文混排的情况吧.
ccrun.com 2014-06-07
  • 打赏
  • 举报
回复
ShowMessage(strlen(",")); //中文半角的逗号,显示2 你这行代码里的逗号,根本不是半角的。肉眼都能看出来那是个全角的逗号。用strlen去判断,当然要返回2了。
lianrouwupan 2014-06-07
  • 打赏
  • 举报
回复
引用 4 楼 ccrun 的回复:
[quote=引用 2 楼 lianrouwupan 的回复:] 中文半角的逗号,为什么占两个字节? 中文半角的@就占一个字节? 我是用strlen函数来判断,不知是否准确。
中文?半角?占两个字节? 你这个结论是哪里来的?[/quote] ShowMessage(strlen(",")); //中文半角的逗号,显示2 ShowMessage(strlen("@")); //中文半角的@,显示1 strlen的单位是字节吗?还是?
ccrun.com 2014-06-07
  • 打赏
  • 举报
回复
引用 2 楼 lianrouwupan 的回复:
中文半角的逗号,为什么占两个字节? 中文半角的@就占一个字节? 我是用strlen函数来判断,不知是否准确。
中文?半角?占两个字节? 你这个结论是哪里来的?
dataxdata 2014-06-06
  • 打赏
  • 举报
回复
中英文的标点符号所占的字节数肯定是不一样的,显示起来也不一样,但中英文可以混排,英文标点或字符夹杂在中文字符中,你遇到的应该是这种情况
lianrouwupan 2014-06-06
  • 打赏
  • 举报
回复
引用 1 楼 ccrun 的回复:
半角的!占一个字节,值为0x21 全角的!占两个字节,GB2312编码中值为0xA3A1
中文半角的逗号,为什么占两个字节? 中文半角的@就占一个字节? 我是用strlen函数来判断,不知是否准确。
ccrun.com 2014-06-06
  • 打赏
  • 举报
回复
半角的!占一个字节,值为0x21 全角的!占两个字节,GB2312编码中值为0xA3A1

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧