VC 如果判断Unicode字符是半角还是全角

来源:互联网  责任编辑:小易  时间:2017/5/28 12:41:52
本网有用户碰到这样的问题:VC 如果判断Unicode字符是半角还是全角,具体问题如下:

本网根据需求用户需求,为用户寻得以下其他网友提供的解决方法,方法仅供参考,具体如下:

=================1楼=====================

判断字符的unicode对应的值的范围

=================2楼=====================

半角应该是全英文的可显示字符, wchar 应该小于0x80
如果是中文或其他语言, wchar 应该大于0x80

=================3楼=====================

引用 2 楼 zzz3265 的回复:
半角应该是全英文的可显示字符, wchar 应该小于0x80
如果是中文或其他语言, wchar 应该大于0x80

这个不行的, 日语半角是大于0x80的

=================4楼=====================

#include <stdio.h>
#include <locale.h>
char tmp[8];
int W;
int main() {
    setlocale(LC_ALL,"chs");
    W=sprintf(tmp,"%C",L'A');
    printf("L'A'  W=%d\n",W);
    W=sprintf(tmp,"%C",L'啊');
    printf("L'啊' W=%d\n",W);
    return 0;
}
//L'A'  W=1
//L'啊' W=2
//

=================5楼=====================

类似的帖子

=================6楼=====================

某个字符是半角/全角

这个字符显示时占用几个像素宽度
没有关系。

=================7楼=====================

因为指定了等宽字体, 所以通过全角和半角可以很快定位数据显示宽度。

通过DC取得数据宽度的方法试过了, 好像不太准确。

想问一下有没有通过数据直接判断是全角还是半角的算法

=================8楼=====================

引用 7 楼 diplopod 的回复:
因为指定了等宽字体, 所以通过全角和半角可以很快定位数据显示宽度。

通过DC取得数据宽度的方法试过了, 好像不太准确。

想问一下有没有通过数据直接判断是全角还是半角的算法

有。但是你得知道当前的编码。

=================9楼=====================

isUnicodeText()

=================10楼=====================

半角的高字节是零

=================11楼=====================

半角的高字节是零

=================12楼=====================

6666666666666

=================13楼=====================

具体见http://www.unicode.org/charts/PDF/UFF00.pdf

=================14楼=====================

谢谢分享。。。

=================15楼=====================

learning~

=================16楼=====================

IsTextUnicode

=================17楼=====================

确实不错,试一试,或许会成功

=================18楼=====================

判断字符的范围

=================19楼=====================

6666666666666

=================20楼=====================

learning~

=================21楼=====================

666666666

=================22楼=====================

=================23楼=====================

我也想知道…………

=================24楼=====================

应该有一个范围

=================25楼=====================

learning~

=================26楼=====================

围观。。。。

=================27楼=====================

引用 7 楼 diplopod 的回复:
因为指定了等宽字体, 所以通过全角和半角可以很快定位数据显示宽度。

通过DC取得数据宽度的方法试过了, 好像不太准确。

想问一下有没有通过数据直接判断是全角还是半角的算法

那只是因为你“通过DC取得数据宽度的方法”不对而已。
百度搜“DrawText DT_CALCRECT”

=================28楼=====================

具体请参考:
http://bbs.csdn.net/topics/392073056

=================29楼=====================

该回复于2017-01-13 16:42:18被管理员删除

=================30楼=====================

该回复于2017-01-10 08:58:03被管理员删除

=================31楼=====================

该回复于2017-01-13 16:42:18被管理员删除

=================32楼=====================

=================33楼=====================

在网站找到的
http://www.ltool.net/japanese_full_jenkaku_to_half_hankaku_converter_in_traditional_chinese.php

网页中的例子包括全角半角内容用记事本保存到 UNICODE 编码的文件中,然后用 WinHex 工具查看文件,发现 wchar_t 字符的高位是 0xFF

=================34楼=====================

我想问那个到处刷炒股的2货没人管吗?

=================35楼=====================

请楼主写给出半角和全角的定义,Unicode可没规定半角、全角

如果您还有更好的解决方法,请在最下面评论中留下您的解决方法


  • 本文相关:
  • 站长必读,如何真正写好一篇原创文章
  • 互联网之路细嗅蔷薇 资深站长分享掘金之道
  • 企业站的站长的工作重心究竟有哪些
  • 浅析:行业门户网站的一些盈利模式
  • 3000IP的企业网站每天订单不到30个的苦恼
  • 网站想内外兼修?先学习提高网站可用性的6大原则
  • 浅谈网页设计中的简约之美
  • 网页改版实战:日本设计师如何彻底优化旅游网站?
  • 网页改版实战!日本设计师如何彻底优化招聘网站?
  • 2015年值得关注的21个网页设计趋势
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2015 www.zgxue.com All Rights Reserved