C++ 中wchar_t范围来判断其是否是中文,数字还是其他

C++代码中的字符集问题:char和wchar_t 在前一篇的文章中,碰到的一个坑就是因为要躲开MFC中的一个CString类导致的各种问题。话说回来,在C++的程序中,各种各样的字符类型处理也是一个比较麻烦的事情,特别是处理的文本里面有中文的时候。在这个C++和CEF的系列中,就花一些篇幅来说说C++程序中的一些字符类型和相关的处理。今天先从最基本的字符集开始。我觉得在字符类型处理过程中,最重要的一点就是要区分两个概念:字符集和字符编码规则,这两个概念有时会混在一起用,但实际上是有区别的。 阅读详情

下面是各语言在Unicode中的范围:

0000:Basic Latin 基本拉丁语
0080:Latin-1 Supplement 拉丁语-1补遗
0100:Latin Extended-A 拉丁语扩充-A
0180:Latin Extended-B 拉丁语扩充-B
0250:IPA Extensions 国际音标
02B0:Spacing Modifier Letters
0300:Combining Diacritical Marks 组合变音符
0370:Greek and Coptic 希腊语和埃及语
0400:Cyrillic 西里尔文
0500:Cyrillic Supplement 西里尔文补遗
0530:Armenian 亚美尼亚语
0590:Hebrew 希伯来语
0600:Arabic 阿拉伯语
0700:Syriac 叙利亚语
0780:Thaana 马尔代夫语
0900:Devanagari 梵文
0980:Bengali 孟加拉语
0A00:Gurmukhi 果鲁穆奇语
0A80:Gujarati 古吉特拉语
0B00:Oriya 奥里雅语
0B80:Tamil 泰米尔语
0C00:Telugu 泰卢固语
0C80:Kannada 埃纳德语
0D00:Malayalam 马拉雅拉姆语
0D80:Sinhala 锡兰语
0E00:Thai 泰国语
0E80:Lao 老挝语
0F00:Tibetan 西藏语
1000:Myanmar 玛雅语
10A0:Georgian 格鲁吉亚语
1100:Hangul Jamo (一种特殊韩文)
1200:ethiopic 埃塞俄比亚语
13A0:Cherokee 切罗基语
1400:Unified Canadian Aboriginal Syllabic
1680:Ogham 欧甘字母
16A0:Runic 古代北欧文字
1700:Tagalog 塔加拉语
1720:Hanunoo
1740:Buhid
1760:Tagbanwa
1780:Khmer 高棉语
1800:Mongolian 蒙古语
1900:Limbu
1950:Tai Le
19E0:Khmer Symbols 孟高棉语符号
1D00:Phonetic Extensions 语音扩充
1E00:Latin Extended Additional 拉丁扩充附加
1F00:Greek Extended 希腊语扩充
2000:General Punctuation 通用标点
2070:Superscripts and Subscripts 上标和下标
20A0:Currency Symbols 货币符号
20D0:Combining Marks for Symbols
2100:Letterlike Symbols
2150:Number Forms 数字形式
2190:Arrows 箭头
2200:Mathematical Operators 数学运算符
2300:Miscellaneous Technical 零杂技术用符号
2400:Control Pictures
2440:Optical Character Recognition
2460:enclosed Alphanumerics 带圈和括号的数字与字母
2500:Box Drawing 边框
2580:Block Elements 方块
25A0:Geometric Shapes 几何形状
2600:Miscellaneous Symbols 零杂符号
2700:Dingbats 丁贝符
27D0:Miscellaneous Mathematical Symbols-A 零杂数学符号
27F0:Supplemental Arrows-A 扩充箭头A
2800:Braille Patterns 盲文
2900:Supplemental Arrows-B 扩充箭头B
2980:Miscellaneous Mathematical Symbols-B 零杂数学符号B
2A00:Supplemental Mathematical Operators 扩充的数学运算符
2B00:Miscellaneous Symbols and Arrows 零杂符号和箭头
2E80:CJK Radicals Supplement CJK词根补遗
2F00:Kangxi Radicals Kangxi词根
2FF0:Ideographic Description Characters 表意符号
3000:CJK Symbols and Punctuation CJK符号和标点
3040:Hiragana 平假名
30A0:Katakana 片假名
3100:Bopomofo 汉语注音符号
3130:Hangul Compatibility Jamo
3190:Kanbun
31A0:Bopomofo Extended 汉语注音符号扩充
31F0:Katakana Phonetic Extensions
3200:enclosed CJK Letters and Months 带圈的CJK字母和月份
3300:CJK Compatibility CJK兼容
3400:CJK Unified Ideographs Extension A (1.5MB) CJK统一象形文字扩展A
4DC0:Yijing Hexagram Symbols 易经符号
4E00:CJK Unified Ideographs (5MB) CJK统一象形文字
A000:Yi Syllables 彝语音节
A490:Yi Radicals 彝语词根
AC00:Hangul Syllables (7MB) Hangul音节
D800:High Surrogates 高代用品
DC00:Low Surrogates 低代用品
E000:Private Use Area 私人保留区
F900:CJK Compatibility Ideographs CJK兼容象形文字
FB00:Alphabetic Presentation Forms 字母序的表象符
FB50:Arabic Presentation Forms-A 阿拉伯表象符A
FE00:Variation Selectors
FE20:Combining Half Marks
FE30:CJK Compatibility Forms
FE50:Small Form Variants
FE70:Arabic Presentation Forms-B 阿拉伯表象符-B
FF00:Halfwidth and Fullwidth Forms 半宽和全宽形式
FFF0:Specials 特殊符号
这里可见字体编辑用中日韩汉字Unicode编码表
树莓派学习系列7——GPIO基础 前言 原来学单片机的时候,就是通过一系列的引脚来控制单片机。终于学到了通过引脚来控制树莓派了。话不多说咱们先来了解基础。 阅读详情

相关推荐

【文献阅读笔记】之基于注意力机制的深度学习路面裂缝检测

中文,计算机辅助设计与图形学学报,第 32 卷 第 8 期,2020 年 8 月。 DOI: 10.3724/SP.J.1089.2020.18059 摘要: 为实现自动准确地检测路面裂缝, 提升路面裂缝检测效果, 提出了一种基于注意力机制的裂缝检测网络 (attention-based crack networks, ACNet). 该网络采用编码器-解码器网络构架, 编码器采用 ResNet34 为骨干网, 提取路面裂缝特征; 在编码器和解码器间加入基于注意力机制的特征模块(attention-b

qq_44785998的博客 7593

Unicode范围划分

转自:http://smallmousel.bokee.com/6873467.html 0000:Basic Latin 基本拉丁语0080:Latin-1 Supplement 拉丁语-1补遗0100:Latin Extended-A 拉丁语扩充-A0180:Latin Extended-B 拉丁语扩充-B0250:IPA Extensions 国际音标02B0:Spa...

weixin_34402090的博客 602

LabVIEW实战:基于DAQmx的实时正弦波生成、采集与波形图动态显示

本文详细介绍了如何使用LabVIEW和DAQmx驱动实现实时正弦波的生成、采集与动态显示。通过USB-6008数据采集卡,结合队列缓冲机制和动态波形图显示技术,构建了一个完整的信号处理系统。文章包含硬件连接、软件配置、任务设置及常见问题排查,适合LabVIEW初学者和硬件控制开发者参考。

weixin_30872337的博客 124

文本处理常用命令

清洗和处理文本数据常用代码

m0_48901857的博客 667

单细胞marker基因表达密度图-(还有一个包装函数)

我们借助Nebulosa,将上面的过程包装为一个函数,还是那句话,受累麻烦的事我们来解决,您轻松即可,先看看函数参数:需要注意的是,如果你只想框选某一类celltype,理想模式是这群celltype是单独聚类的,没有散落在其他类群,否则将会全部框选,效果不好,建议使用AI/PS添加。需要注意,这里我算是投机取巧了,用了一个和这个作图毫无关系的包ggnetwork,主要的目的是用他的theme_blank()主题,一次性将所有清空,当然也可以自己慢慢写,不过有现成的,为啥不用呢?这质感不就上去了嘛。

qq_42090739的博客 1368

第七篇:A133 Android 10 触摸提示音过大

描述: 开启触摸提示音功能之后,客户反馈触摸提示音过大,需要改小。 解决方案: 看代码注释,在framework下搜索方法即可。 /** @see AudioManager#playSoundEffect(int) */ public void playSoundEffect(int effectType) { playSoundEffectVolume(effectType, -1.0f); } /** @see AudioManager#playSoundEff

qq_33088619的博客 1696

Unicode常用字符编码(大小写字母等)介绍

Unicode常用字符编码(大小写字母等)介绍

qq_46119575的博客 2万+

〔重庆理工大学〕大学物理实验--变温霍耳效应及其参数测定

每个老师要求不同,实验报告内容和数据仅供参考。

Pretty Boy Fox的博客 3044

关于使用wchar_t显示中文的问题

最近在利用IfcOpenShell来做BIM的相关工作,输出.ifc文件。 然后发现IfcOpenShell这个库貌似默认不支持中文路径。 检查了一下源代码发现是在使用wchar_t的时候有个参数给的不对。 然后就研究了一下使用wchar_t显示中文的方法,wchar_t本身是一种宽字长的字符类型,主要是用来显示那些字符在256位以上用char显示不了的字符。 使用方法: #include <iostream> #include <string> #include<

carlblack1987的专栏 1943

Vue+OpenLayers:解决中国境内OpenStreetMap地图加载问题

然而,在使用OpenLayers和Vue框架搭建地图应用时,很多中国开发者可能会遇到一个常见问题:OpenStreetMap(OSM)地图无法正常加载。为了解决这个问题,我们可以使用其他方式获取地图数据,比如使用国内的地图服务提供商。通过使用国内地图服务商提供的地图数据,我们可以解决OpenStreetMap地图加载问题。然后,我们创建一个OpenLayers地图对象,并指定地图图层的源为国内地图服务商提供的地图URL。属性,可以将地图的中心点和缩放级别调整到我们需要的位置。

CodeWhizZ的博客 8271

Android性能分析深度指南:Perfetto工具全面解析

本文深入探讨Android性能优化工具Perfetto的应用与实践。作为Google推出的新一代追踪系统,Perfetto整合了CPU调度、内存分配、电池状态等多维度分析功能,通过高性能数据处理和可视化界面帮助开发者定位性能瓶颈。文章系统介绍了Perfetto的架构原理、配置方法和核心功能,包括CPU性能分析、内存泄漏检测等关键技术。通过电商应用卡顿优化的实战案例,展示了如何利用数学建模(如帧时间公式$T_{\text{render}}\leq16.67\text{ms}$)指导性能调优。

郑伟强dev的专栏 144

【Python学习】基础篇-常用函数-replace() 字符串操作-替换、删除空格、保留指定字符

在Python中用replace()函数操作指定字符 常用字符unicode的编码范围: 数字:\u0030-\u0039 汉字:\u4e00-\u9fa5 大写字母:\u0041-\u005a 小写字母:\u0061-\u007a 英文字母:\u0041-\u007a 1、将字符串中的指定符号替换成指定符号 #将old字符串中的2替换为9 old = "bcsbviuwvb123221iuw" new = old .replace('2', '9') 2、字符串删掉空格 str.strip(): 删除开

邑轻辰的学习笔记 1万+

【语音识别】基于MFCC特征实现说话人语音识别matlab源码

1 模型 采用能够反映人对语音的感知特性的Mel频率倒谱系数(MFCC)作为特征参数,以及为避免时间规整问题采用矢量量化技术开发的说话人识别系统.MFCC主要的是模拟人耳的听觉过程,相对于其它参数它对语音波形的变化不敏感,更加稳定,系统取得很好的识别结果,实验表明系统训练和识别的计算量和存储量都比较低. 2 部分代码 functionvarargout=Main(varargin) % MAIN M-file for Main.fig % MAIN, by itself...

qq_59747472的博客 848

WCHAR,CHAR,TCHAR的区别

现在C++的字符分成两种类型wchar_t和char。   其中   WCHAR==wchar_t,CHAR==char。   TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。   CHAR实施上就是unsigned char, WCHAR为宽字符, 而TCHAR根据是否支持unicode而不同。 在程序使用sizeof(TCAHR),当默认设置时,这个值

fevershen的专栏 2542

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C++字符编码实战:从char/wchar_t乱码到UTF-8最佳实践

字符编码是计算机处理文本信息的基础,它定义了字符与二进制数据之间的映射规则。从早期的ASCII单字节编码,到各国自定的多字节编码(如GBK),再到统一全球字符的Unicode标准,编码的演进解决了多语言文本的表示问题。Unicode本身是字符集,其具体存储方案包括UTF-8、UTF-16和UTF-32等编码格式。在C++工程实践中,字符集问题直接影响程序的跨平台兼容性、数据交换的可靠性以及用户界面的正确显示。正确处理编码能避免乱码、内存错误等顽疾,对于开发国际化应用、处理网络数据或进行系统间交互至关重要。本

weixin_28689507的博客 307

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

关于C++11中的wchar_t,char16_t,char32_t以及延申出来的编码知识

在 C++ 中,wchar_tchar16_t和char32_t是用于表示不同宽度字符类型的类型,它们主要用于处理不同的字符编码集,特别是在需要支持国际化(多语言)环境时。这些类型用于表示比标准的char类型更宽的字符,从而支持更多字符集,例如 Unicode 字符。

abgjkk的博客 2796

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

中文转阿拉伯数字

中文转阿拉伯数字题目描述思路注意点代码 题目描述 把中文(数字)转换成阿拉伯数字,例如把二千亿零一百零一万零二百 转为 200001010200。 思路 总的思路来说,就是从右向左(从低位到高位)。 当前单位为curU, 转换结果为ret 如果遇到比curU高的单位X,则curU=X; 如果遇到更低的单位x,则curU = curU * x; 如果遇到数字n,则ret += n * curU; 注意点 该题目中,转换后的数字超过了int的表示范围,需要使用long long类型。 另外,处理中文字符串,要使

Samson的博客 2566

C语言宽字符编程:wchar_t与wprintf实战指南

字符编码是计算机处理文本的基础,它定义了字符与二进制数据的映射关系。ASCII编码解决了英文表示问题,但无法满足全球多语言需求,由此诞生了Unicode统一字符集。Unicode通过UTF-8、UTF-16等编码方案实现跨语言支持,其中C语言的wchar_t类型和wprintf函数就是基于Unicode的宽字符处理机制。这套机制的技术价值在于为程序提供国际化支持,使软件能够正确处理中文、日文、阿拉伯文等多语言文本。在实际应用场景中,宽字符编程特别适用于需要本地化的软件、多语言文本处理系统以及与Windows

weixin_33970449的博客 323

【转】WCHAR,CHAR,TCHAR的区别

<br /><br />现在C++的字符分成两种类型wchar_t和char。  <br />其中   WCHAR==wchar_t,CHAR==char。  <br />TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。  <br />CHAR实施上就是unsigned char,<br />WCHAR为宽字符,<br />而TCHAR根据是否支持unicode而不同。<br />在程序使用sizeof(TCAHR),当默认设置时,这个值是1;<br />当定义UNICODE宏时,

sky200543012的专栏 1245

【C语言宽字符输出终极指南】:揭秘wchar_t在printf中的正确打开方式

掌握C语言printf输出宽字符(wchar_t)的正确方法,解决中文乱码与跨平台兼容问题。涵盖setlocale配置、wprintf使用场景及注意事项,对比printf与wprintf差异,提升多语言支持能力。方法实用可靠,值得收藏。

PixelShoal的博客 1090

C++的字符类型

转自:http://blog.sina.com.cn/s/blog_5a82024e0100bg4v.html 现在C++的字符分成两种类型wchar_t和char。 WCHAR==wchar_t; CHAR==char; TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。 CHAR实施上就是unsigned char; WCHAR为宽字符; TCHAR根据是否支持unic...

冯同学的博客 1934

【转】WCHAR,CHAR,TCHAR的区…

原文地址:【转】WCHAR,CHAR,TCHAR的区别作者:dragon 现在C++的字符分成两种类型wchar_t和char。 其中 WCHAR==wchar_t,CHAR==char。 TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。 CHAR实施上就是unsigned char, WCHAR为宽字符, 而TC...

程序猿的樊笼 983

C++ 多字节编码与Unicode编码

C++ 多字节编码与Unicode编码前言一. 什么是字符集(Charcater Set)与字符编码(Encoding)?二. 不同字符集的区别1. 不同字符集2. 优缺点三. char与wchar_t、string 与 wstring1. char与wchar_t2. string与wstring3. string与wstring转换四. 理解_T()、_Text()宏即L“ ”五. Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR 前言 任何“物种”都有

Zander0的博客 4164

C/C++

字符 一、ANSI编码: 是一种字符代码,为使计算机支持更多语言,通常使用 0x00~0x7f 范围的1 个字节来表示 1 个英文字符。超出此范围的使用0x80~0xFFFF来编码,即扩展的ASCII编码。 新建文本文档,另存为的编码规范采用国际ANSI的标准; 字符数据类型 字符数据类型 类型 内存 说明 char 1 ascii字符 .

chengxuyuanYBY的博客 359

Linux C\C++编程-Linux系统的字符集

为了把全世界所有的文字符号都统一进行编码,国际标准化组织(International Standard Organization,ISO)提出了Unicode编码方案,它是可以容纳世界上所有文字和符号的字符编码方案,这个方案规定任何语言中的任一字符都只对应唯一的数字,这个数字被称为代码点(Code Point),或称码点、码位,它用十六进制书写,并加上“U+”前缀,比如,“田”的代码点是U+7530;在多字节字符集中,每个字符的编码宽度都是不等的,可以是一个字节,也可以是多个字节。

夏天又到了的专栏 1551
上一篇: 从字体文件中获取字体名字
下一篇: linux源码中关于内存移动或复制的函数详细解说: memmove, memcpy, strcpy
普通网友
博客等级 码龄14年 9粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值