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编码表
spoon工具的常用基础操作 先创建一个作业,这个作业流程,包括进行设置变量转换,查询结果输出转换,方便后续循环。整个流程写完后,执行作业5_执行整个流程,成功后,可以在数据库查看结果。,新建一个转换,excel表输入然后复制记录到结果,保存转换文件。这三个用户下 都有一张emp表 分别是 三个部门的用户信息。,新建一个数据库连接,变量命名用户名和密码。成功执行后,可以到保存的excel位置进行查看。emp表输入,可以进行预览查看数据有没有过来。输出到一直excel表,运行结果输出。,新建一个转换,拖拽。 阅读详情

相关推荐

Unity 升级引擎版本后构建报错:script class layout is incompatible between the editor and the player

Unity升级引擎版本后,项目报错:script class layout is incompatible between the editor and the player。

学习与分享 593

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

如何利用DeepSeek自动生成PLC程序?

在工业自动化领域,PLC是核心控制设备,其编程效率和质量直接影响生产线的运行效果。 然而,传统PLC编程依赖工程师手动编写代码,不仅耗时耗力,还容易出错。通过自动生成PLC程序,DeepSeek不仅大幅提升了编程效率,还优化了代码质量。 那么DeepSeek到底能否自动生成PLC程序呢? 有位电气工程师就尝试让DeepSeek设计一套五层电梯控制系统的PLC程序,下面就让我们看看吧。 技术原理:DeepSeek如何实现自动编程DeepSeek利用自然语言处理技术,将工程师输入的文本指令转换为PLC代码。例

Qinmingyue13的博客 6177

文本处理常用命令

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

m0_48901857的博客 667

手把手教你为STM32设备生成自定义MAC地址(基于芯片ID的5种算法对比)

本文详细介绍了基于STM32芯片ID生成自定义MAC地址的5种算法,包括直接截取、异或折叠、CRC32哈希、自定义混合运算及SHA-256摘要。通过对比分析各算法的计算复杂度、唯一性及适用场景,帮助嵌入式开发者根据项目规模与资源,选择最合适的方案,确保设备MAC地址的唯一性与合规性。

weixin_29170327的博客 527

个人整理的数据集(手写中文数据、发票数据、快递单数据、车牌数据)

本人在工作生活中收集了各个方面比较多的真实的数据集如下: 一、手写中文数据集 1、档案类数据: 此数据集为手写档案数据,数量较大,大约128G,图像均未标注。 ex: 2、手写作文数据: 此数据集为手写作文数据,是大约800M左右,图像按行提供位置和内容标注,十分珍贵。 ex: 二、发票数据集: 1、增值税发票 此数据集包含了大量真实的增值税发票数据,大约9G,标注了发票位置数据,未提供详细标注。 ex: 2、购车发票 此数据集未提供标注。

weixin_43143224的博客 5876

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

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

qq_46119575的博客 2万+

免费,Python蓝桥杯等级考试真题--第10级(含答案解析和代码)

Python中蓝桥杯算是含金量和难度最大的比赛之一,网上可以找到不少真题,不过要么零零散散要么付费才能解锁,而且大都是没答案和解析的,给学习者造成很大困扰。因此本文档打算整理历年等级考试、STEMA、省赛、国赛真题卷和解析,供大家学习参考。

1576

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

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

carlblack1987的专栏 1943

Windows 游戏 EXCEPTION_ACCESS_VIOLATION 修复:3类硬件问题与5步软件排查法

本文提供Windows游戏EXCEPTION_ACCESS_VIOLATION错误的终极修复指南,涵盖3类硬件问题(内存故障、显卡问题、超频不稳定)和5步软件排查法(文件验证、驱动更新、DEP调整等),帮助玩家彻底解决0xFFFFFFFFFFFFFFFF内存访问冲突问题。

weixin_31856057的博客 2419

使用Typora时LaTeX内联公式简单汇总

0、前言 在使用Typora写笔记时,有时候需要添加上LaTeX排版的公式。以下是整理出的一份简单笔记,方便记忆不清楚时查阅。笔记暂时不够完善,之后再补充。 注:有些公式语法KateX不能解析,但在Typora中可以使用(不用在意) 1、一些基本内联公式 位置关系 展示 LaTeX 说明 x2x^{2}x2 x^{2} 右上标 x2x_{2}x2​ x_{2} 右下标 2x{}^{2}x2x {}^{2}x 左上标 2x{}_{2}x2​x {}_{2}x 左下标

白白旧维的博客 4438

【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万+

在Windows10上安装WSL2

WSL2是微软提供的Windows子系统,允许在Windows 10和11上运行Linux环境,提供更好的性能和兼容性。安装WSL2需要启用WSL功能、更新系统、安装WSL2内核,并设置为默认版本。之后,可以通过Microsoft Store安装Linux发行版,并使用WSL命令启动和管理它们。

howard2005的专栏 5940

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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

老版QQ原生表情gif动态

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

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

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

weixin_28689507的博客 307

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

abgjkk的博客 2796

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

中文转阿拉伯数字

中文转阿拉伯数字题目描述思路注意点代码 题目描述 把中文(数字)转换成阿拉伯数字,例如把二千亿零一百零一万零二百 转为 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、付费专栏及课程。

余额充值