Unicode字符集初探

Qt不使用unicode字符集 error: C2664: “HWND CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM)”: 无法将参数 2 从“char *”转换为“LPCWSTR”error: C2664: “int GetClassNameW(HWND,LPWSTR,int)”: 无法将参数 2 从“char [1024]”转换为“LPWSTR”我们知道Visual Studio是可以设置字符集的,有多字节和Unicode两种选项。那么上面的解决方法是最简单的。 阅读详情
 In the first version of UCS 34203 different characters are included. Of these 21204 are ideographic characters used in Chinese, Japanese and Korean, and 6656 are Korean Hangul syllabograms. To guarantee that the coding space will not be filled up even in the future -- 2 octets give 65536 different character positions -- a 4-octet form of UCS (UCS-4) is also definied.

The 65536 positions in the 2-octet form of UCS are divided into 256 rows with 256 cells in each. The first octet of a character representation gives the row number, the second the cell number. The first row, row 0, contains exactly the same characters as ISO/IEC 8859-1. The first 128 characters are thus the ASCII characters. The octet representing an ISO/IEC 8859-1 character is easily transformed to the representation in UCS, by putting a 0 octet in front of it. UCS includes the same control characters as ISO/IEC 8859 and these are also in row 0. An overview of the content of all rows are found in the annex.

UCS2(UTF-16)的第一行和ISO/IEC 8859-1完全一样,开头的128个字符就是ASCII码。所以把WE8ISO8859P1的字符转换成UCS2只要在前面加一个0字节即可。这也是我上一篇关于英文字符集Oracle数据库OraOLEDB驱动乱码问题可行的原因。

UTF-8开头128个字符也是ASCII码。

UTF-16有两种,BMP(基本多语言平面)只有两个字节,增补字符需要四个字节。

Unicode最新版是5.0,新的版本都是在原有基础上增加字符,不改变原来字符的编码。有UTF-16和UTF-32,Windows采用的是UTF-16,有些Unix系统采用UTF-32。

UTF-8编码方式:
   UCS-4 range (hex.)           UTF-8 octet sequence (binary)
0000 0000-0000 007F 0xxxxxxx
0000 0080-0000 07FF 110xxxxx 10xxxxxx
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx

0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx
一个字节第一位为0,如果最高两位为1后跟一个0,表示由两个字节构成,依此类推。ASCII码的UTF-8编码完全一样,
汉字通常需要3-4个字节。一个字节破坏或者丢失很容易找出这个字符的边界。

UTF-16也与此类似:
四个字节的UTF-16,前两个字节为0xD800-0xDBFF,后两个字节为0xDC00-0xDFFF。
丢失一个字节也可以判断出来字符边界。

GBK这样变长编码比较麻烦,一个字节不对导致一大堆乱码。
完整UNICODE编码表 Unicode编码则是采用双字节16位来进行编号,可编65536字符,基本上包含了世界上所有的语言字符,它也就成为了全世界一种通用的编码,而且用十六进制4位表示一个编码,非常简结直观 立即下载

相关推荐

unicode字符集

If you are an existing user, make sure you know the Top 10 Features and that you reclaimed shortcuts Visual Studio usurped over the years, including Shift+Alt+O assigned to Open Web Site. Find the recommended shortcuts in VAssistX | Help |

Unicode字符编码

一直没有搞清楚Unicode编码的问题,导致在写代码的时候,遇到问题总是需要通过搜索来解决。这次就整理下学习的内容,把这块问题好好补上。本文整理了Unicode编码方式和实现方式,主要有UTF-8、UTF-16、UTF-32等。本文应该算学习笔记的摘抄。

Benjamin's IT Life 2541

数字IC后端时序违例修复:setup/hold冲突与时钟树优化实战

时序收敛是数字IC后端设计中最关键的环节之一,直接影响芯片能否在目标频率下稳定工作。建立时间与保持时间的本质是寄存器对数据稳定性的物理约束,而实际工程中,setup违例和hold违例往往此消彼长,冲突的根源在于数据路径与时钟路径的延迟匹配。时钟树综合(CTS)作为连接逻辑与物理的关键步骤,其skew、insertion delay和transition的优化直接决定了时序修复的成败。通过useful skew技术、合理的单元替换和路径结构调整,可以系统性地解决setup/hold冲突,实现时序收敛。本文结合

weixin_28292761的博客 225

汉字转UniCode

public class Test1 { private static final char[] hexDigit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; private static char toHex(int nibble) {

d846674104的专栏 1020

Xilinx FPGA MultiBoot实战:7Series与UltraScale的SPI Fallback配置详解

本文深入解析了Xilinx FPGA的MultiBoot(多启动)与Fallback(回退)功能,针对7系列与UltraScale/UltraScale+系列,提供了从约束文件编写、看门狗集成到镜像烧录的完整实战配置指南。文章重点对比了两个系列在SPI Fallback配置上的关键差异与注意事项,旨在帮助工程师构建高可靠、永不宕机的FPGA系统。

weixin_29197051的博客 547

保姆级教程:不用看古早代码,5分钟搞懂泛微ecology9附件存储与接口调用

本文详细解析了泛微ecology9附件存储与接口调用的核心原理,提供从基础概念到实战操作的完整指南。通过拆解文档化附件设计理念、解析RESTful接口参数,并给出Python代码示例,帮助开发者快速掌握附件上传与业务集成的关键技巧,提升二次开发效率。

weixin_28688385的博客 352

细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4 评注

原文在这里 https://www.cnblogs.com/malecrab/p/5300503.html Unicode编码点分为17个平面(plane),每个平面包含216(即65536)个码位(code point)。17个平面的码位可表示为从U+xx0000到U+xxFFFF,其中xx表示十六进制值从0016到1016,共计17个平面。 2. UTF-32与UCS-4 在Unicod...

zhouguoqionghai的博客 1391

从零到一:NI USB-8506 LIN通讯的驱动安装与硬件调试全攻略

本文详细介绍了NI USB-8506 LIN通讯设备的驱动安装与硬件调试全流程,包括硬件准备、驱动下载与配置、NI MAX设置及常见问题解决方案。通过实战应用与性能优化技巧,帮助用户快速掌握LIN通讯技术,适用于车载数据记录和自动化测试等场景。

weixin_28273593的博客 927

UCS unicode UTF-8 UTF-16 UTF-32

字符集:

不知道要什么,便什么都想要,最后什么都要不到 1331

Unity 升级 xLua 版本,编译不同平台链接库

Unity 升级 xLua 详解

LymanCao的专栏 1803

rk3588 LightSensor适配从驱动到应用层

本文详细介绍了在RK3588平台上实现光感驱动的开发流程。主要包括:1) 在设备树中配置I2C5接口挂载光感设备;2) 编写内核驱动代码实现光感数据采集;3) HAL层通过ioctl与驱动交互;4) 在BoardConfig.mk中启用相关宏定义;5) Framework层通过AutomaticBrightnessController实现自动亮度调节算法;6) 应用层可通过监听系统设置获取光感变化并调整屏幕亮度。整个流程涵盖了从底层驱动到上层应用的完整实现方案,重点解决了光感设备注册、数据采集传输和自动亮度

tzj1058756809的博客 451

【转】刨根究底字符编码之十二——UTF-8究竟是怎么编码的

UTF-8究竟是怎么编码的 1. UTF-8编码是Unicode字符集的一种字符编码方式(CEF),其特点是使用变长字节数(即变长码元序列或称变宽码元序列)来编码。目前一般是1到4个字节,当然,也可以更长。 为什么要变长呢?这可以理解为按需分配,比如一个字节足以容纳所有的ASCII字符,那何必补一堆0,导致占用更多的字节来存储呢? 实际上变长编码有其优势,也有其劣势,优势方面除了上面所讲的节省存储空间之外,还有就是自动纠错性能好、利于传输、扩展性强,而劣势方面主要是由于字符的编码字节数不固定导致不利

sinolover的专栏 840

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 184

Visual C++中“Unicode字符集”报错问题初探

第一类错误:很多时候在我们读一些英文编程资料的时候,经常会遇到写Windows主入口函数的问题,英文一般会这样写: //This is winmain, the main entry point for Windows applications int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInst...

weixin_33739541的博客 350

【2024年华为秋招-12月25日-第三题(300分)- PCB印刷电路板布线】(题目+思路+Java&C++&Python解析+在线测试)

在PCB印刷电路板设计中,器件之间的连线需要避免线路的阻抗值增大、而且赛件之间还有别的器件和别的干扰源,在布线时我们希望受到的干扰尽量小。现将电路板简化成一个M×N的矩阵,每个位置(单元格)的值表示其源干扰度。如果单元格的值为0,表示此位置没有干扰源;如果单元格的值为非0,则表示此位置是干扰源,其值为源干扰度。连线经过干扰源或干扰源附近会增加连线的总干扰度。位置Axy的干扰源的源干扰度为dd01、若连线经过位置Axy,则其总干扰度会增加d;2、若连线经过离位置A。

m0_73659489的博客 345

lwip-2.0.3

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

Visual Studio——使用多字节字符集与使用Unicode字符集

vs配置选项“使用多字节字符集”和“使用Unicode字符集”的区别 VS集成开发环境,字符集选择“使用多字节字符集”和“使用Unicode字符集”的直接区别就是:编译器是否增加了宏定义——UNICODE。当选择“使用Unicode字符集”时,编译器会增加宏定义——UNICODE;而选择“使用多字节字符集”时,编译器则不会增加宏定义——UNICODE。 而是否增加了宏定义UNICODE,则...

huashuolin001的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

字符集与编码系列:Unicode字符集

基本概念 1.字符集:要想在计算机中显示文字,必须把文字都收集起来放在一个表中,这个表叫字符集(Charset)。 2.码表:字符集中的每个文字,都分配一个数字码,这叫码表(Code chart)。比如中文 ‘霸’字,在码表中对应的码是38712(十进制),或者9738(十六进制)。 3.编码方式:有了码表,就需要确定哪些文字用几个字节表示,以及如果有多个字节代表一个字,字节的读取顺序,这些就是字符编码方式(Encoding)。 虽然为了严谨起见,上面我把字符集和码表分开说明,但实际上很多字符集也给

liudun_cool的博客 7614

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

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

Unicode字符集和多字节字符集关系

Unicode字符集和多字节字符集关系 在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset)。 在最初的时候,Internet上只有一种字符集——ANSI的ASCII字符集,它使用7 bits来表示一个字符,总共表示128个字符,其中包括了英文字母、数字、标点符号等常用字符。之后,又进行扩展,使用8

冰冻三尺,非一日之寒! 2万+

Unicode字符集和UTF编码

详细分析unicode编码以及utf8,utf16,utf32编码方式,并给出示例编码解码程序

qq_45226456的博客 3028

关于多字节字符集和Unicode字符集的理解

每个字符的字节数不同,处理时需要系统判断字符长度。支持有限的字符集(如 GBK 支持简体中文),容易出现乱码问题,尤其在处理不常见的符号时。

weixin_59345220的博客 1993

深入解读字符集:从 ASCII 到 Unicode

字符集的演变是计算机历史中至关重要的一部分,从最早的 ASCII 到如今的 Unicode 和 UTF-8,字符编码标准为全球不同语言的交流提供了强大的支持。理解字符集的概念及其不同版本的应用,能够帮助开发者避免编码问题,提高程序的国际化能力。符集的演变是计算机历史中至关重要的一部分,从最早的 ASCII 到如今的 Unicode 和 UTF-8,字符编码标准为全球不同语言的交流提供了强大的支持。理解字符集的概念及其不同版本的应用,能够帮助开发者避免编码问题,提高程序的国际化能力。

Rockivy的博客 1741

VS中字符集的Unicode和多字节字符集的区别

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33777877的博客 903

ANSI字符集和Unicode字符集

<br />ANSI字符集和Unicode字符集2009年02月27日 星期五 12:44      在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset)。<br />  在最初的时候,Internet上只有一种字符集——ANSI的ASCII字符集,它使用7 bits来表示一个字符,总共表示128个字符,其中包括了英文字母、数字、标点符号等常用字符。之后,又进行扩展,使用8 bits表示一个字符,可以表

笑对人生的专栏 3626

第2章,[标签 Win32] :编写兼容多字节字符集和 Unicode 字符集的 Windows 程序

Windows 程序设计

2401_82825368的博客 889
上一篇: 挑战Oracle OLEDB Data Provider在西文数据库上乱码问题!
下一篇: VS2003 C#开发ArcEngine 9.0不能调试的分析思路
complayer
博客等级 码龄25年 16粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值