汉字编码

article/2025/9/29 3:17:12

http://blog.csdn.net/zzidea/article/details/8497532

C语言编程,基本的类型有字符型,整数型,浮点型。这些类型是我们对事物进行描述所必不可少的东西。即基础,又非常核心。所以必须掌握。

一、            字符集

ASCII

GB2312—>GBK-àGB18030

BIG5

ISO8859-1(欧洲)

S-JIS(日文编码)

Unified Hangul Code(韩文编码)

Unicode

ISO10646(UCS)

ASCII兼容的编码有

GBKBIG5ISO8859-1S-JISunified Hangul Code

这些编码都是ASCII的扩展编码,大部分为二字节编码。而且个个编码间互不兼容。之兼容ASCII。统称为ANSI

ISO10646也叫UCS,和Unicode是同一个东西,但由于组织不同所以叫法也不同。但是其编码是完全相同的。为了简便其间,可以统称为Unicode

UTFUnicode的存储方式有UTF-16UTF-32UTF-8

 

二、            文件存储

Windows的记事本中,文本有三种保存方式:

1.      ANSI

也就是ASCII+GBK

2.      UnicodeUTF-16

UTF-16方式存储Unicode编码。

UTF-16编码与Unicode编码完全一样。

UTF-16是一种定长存储方式。

对于UTF16字节序问题,可以在开头加入BOM

            BigEndian的话,FFFE

            LittleEndian的话,FEFF

3.      UTF-8

UTF-8方式存储Unicode编码。

UTF-8编码与Unicode编码不完全一样。但是由Unicode推出。

UTF-8是一种变长编码存储方式。

Unicode编码定长存储-----------UTF16

Unicode编码变长存储-----------UTF8

总结:

       Unicode是字符的编码,UTFUnicode编码的存储方式。

       ANSI编码就是兼容ASCII的各种编码。其特点是ASCII码位不变,高位扩展。相互高位扩展之间(如GBKBIG5)之间不兼容。

       因此文字编码世界只有ANSIUnicode在竞争了。

三、            ANSIUnicode

1.ANSI可以存储

ASCIIGBK

ASCIIISO8859-1,(欧洲)

ASCIIBIG5

ASCIIJP编码(日文)

ASCIIKS编码(韩文)

  其实大家可以发现,ANSI方式下,ASCII与本地码(GBK等)之间兼容,在使用上和存储上都完全没有问题。

问题只发生在 两套扩展集之间。即GBKJP编码之间。由于都是高位扩展自ASCII,所以其编码区域难免出现重叠。就是同一个编码在中国和日本分别对应不同的字。

日本人给中国人发Email就会出现问题,由于编码不同,同一个Email,在JP编码和GBK编码中对应不同的字。所以理解就会出现问题--------乱码。

也就是ANSI编码会在不同语种间发生乱码问题。特别是不同语种间的WebEmailftp等等文字信息交换。

2Unicode可以存储

    世界上所有的文字,各种文字使用16位统一编码。

在世界任何地方,同一个符号的16位编码都相同。因此同一个编码,在世界各地不会有不同的解释,也就是Unicode具有唯一性。这就是统一编码的好处。

才用Unicode后,同一张网页,在世界任何地方都会有相同的解释,对应唯一的字符。这样中国人就可以自由的浏览日文网站,韩文网站,越南网站,欧洲网站了,只要它采用的是Unicode

所以在Web时代Unicode的作用是不可替代的。

总结:

    ANSIUnicode的区别简单的例子

    你的Web只允许中国人和美国人看,OK,用ANSI

    你的Web允许世界上任何人看,OK,用Unicode

Unicode与UTF的关系

 

 


http://chatgpt.dhexx.cn/article/RB7omC2H.shtml

相关文章

《Qt5:键盘事件》

QKeyEvent类用来描述了一个键盘事件。常用的键盘事件有两种:按键按下和按键释放,一般按键按下事件用的多一点,下面为键盘按下和释放事件的声明: public:void keyPressEvent(QKeyEvent *event);void keyReleaseEvent(QKeyEvent *ev…

小伙 这样你就可以在Mac 中运行 Office 办公软件了

小伙 这样你就可以在Mac 中运行 Office 办公软件了 请参考以下步骤: 1、打开已经安装好的 CrossOver,点击“安装 Windows 应用程序”,在选择应用中的搜索框中输入“office”,接下来在下拉列表中会出现非常多的已经列出的相关软件&…

Unicode 编码表

正则查找: 中文文字中文符号表情符号... [^\x00-\xff] 其中 \x00-\xff 匹配 ASCII 代码中十六进制代码为 00-ff 的字符, 加个取反 ^ ,则就表示表示匹配非单字节的字符,例如汉字,汉字符号等字符集。 中文文字(简体繁体…

arduino学习笔记-库函数解析_LiquidCrystal_i2c使用说明以及lcd1602的驱动

LiquidCrystal_i2c是一个通过i2c驱动lcd显示屏的库函数,具体使用说明如下 i2c转接芯片的型号 PCA8574 arduino R3 A05 为 SCL A04 为 SDL 在头文件下要初始化对象 LiquidCrystal_I2C lcd(0x27,16,2); 对象名 lcd 可以任意,这关系到下面你使用方法…

Linux-Ubuntu系统 安装(重装)Mysql

一、检查服务器是否已有mysql (如需自行下载jdbc相关包,例如mysql-connector等的有效网站:https://mvnrepository.com/artifact/mysql/mysql-connector-java/6.0.2) 为确保后续没有权限错误,先切换到root用户权限&am…

HWP转Word说明

HWP,格式是韩国特有的文档格式,不能直接用MS Office打开或者直接转成Word,之前都是通过Hangul Viewer打印成XPS或PDF,再将文件转成Word,过程比较复杂,且Hangul Viewer打印时会自己在页脚处添加说明&#xf…

qt window release 打包的方法及常见问题,不同路径的差异

一、摘要:qt 程序开发后要发布打包,但是使用网上的教程,总是打这样那样的错误,如下面,我们总结一下原因,以及解决办法和注意事项 二、问题汇总 untitled01.exe-无法找到入口 无法定位程序输入点 ZNSt18cond…

Window系统打包QT程序

1、为什么打包 有时候我们编译出来的QT程序要给别人用,那么别人的电脑上可能没有安装QT,QT版本不同,或者其他因素的影响导致运行不了我们的程序,那么就需要打包给别人,把程序运行时候需要的一些库等资源都打包在一起&…

hangul2010(韩国办公软件) v8.0.0.466官方版

hangul2010 是一款韩文办公软件,由韩国软件公司hansoft开发的一款软件,由于其办公的实用性,软件界面的友好性,使得该软件在韩国非常出名,用户量也非常广。当然,也不是说只有韩国人才用的到该软件&#xff…

如何查看sql的执行计划

文章目录 如何使用plsql查看sql的执行计划?使用navicat返回内容解释idselect_typetabletypepossible_keyskeykey_lenrefrowsextra 如何使用plsql查看sql的执行计划? explain plan for (select * from table) 可查看该语句的sql执…

Mysql查看执行计划

使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 explain执行计划包含的信息 其中最重要的字段为:id、type、key、rows、Extra 各字段详解 id select查询…

Oracle查看执行计划

查看执行计划,分析慢查询SQL 在MySql中可以使用EXPLAIN关键字来查看执行计划并分析sql的执行情况,而在Oracle数据库中则需要两条sql来查看执行计划 EXPLAIN PLAN FOR SELECT * FROM user where username zhangsan; SELECT * FROM TABLE(dbms_xplan.d…

一文搞定 SQL Server 执行计划

导读 数据开发过程中,开发完成的 SQL 发布到生产环境,经常会发生 SQL 执行慢甚至根本无法执行,如何避免这种情况呢?这一篇我们分析一下 SQL Server 的执行计划是如何生成及如何阅读评估执行计划。 基本概念 在此之前&#xff0c…

spark学习之执行计划explain

🐼今天我们来学习阅读spark的执行计划,在学习执行计划之前,我们需要了解spark中的代码是如何执行的,学习代码的执行过程有助于我们加深对spark的理解,对往期内容感兴趣的同学可以查看👇: hadoop专题: hado…

详解mysql执行计划

在数据库查询的时候,我们通常会使用sql语句去查询自己所需要的数据。但是,关于sql在数据库中是如何执行的,它有没有使用索引,具体使用了哪些索引,查找了哪些字段和表,他们的顺序是怎样的,分别用…

Spark执行计划分析与研究

在学习、使用和研究spark的过程中,逐渐会发现:单纯看官方文档对spark参数调优只能解决一小部分的问题,要想进一步的学习spark,进一步调优甚至在spark源码的基础上二次开发,我觉得收益最高的应该是学习执行计划了。 因…

impala 执行计划详解

Impala是一个MPPMassivelyParallelProcessing计算引擎,简单来说就是将计算压力分到多个节点,得到结果后汇总,然后再返回给客户端。如果你留意过Impala的执行计划,会观察到exchange节点,该节点的作用就是分散计算压力的…

sqlserver 执行计划

一个很好的手册分享,执行计划里的属性解释官方文档:https://docs.microsoft.com/zh-cn/sql/relational-databases/showplan-logical-and-physical-operators-reference?viewsql-server-2017 想复杂的事情简单说,在看执行计划的其他文章的时…

MySQL执行计划

什么是执行计划 The set of operations T that the optimizer o chooses to perform the most efficient query t is called the “query execution plan”, also known as theEXPLAIN plan 如何获取SQL语句的执行计划 方法1: explain SQL 。方法2: …

sql 执行计划

一、各数据库执行计划执行方式 二、explan 三种格式 (以MySQL为例) 1.默认格式 2.tree 格式(与postgreSQL执行计划格式相似) 3.json格式 三、执行计划各字段名含义 1) id:查询编号 ,从小到大,编号越大执行顺序越往前 相同的话从上往下执行(也可以把编号当成缩进的格数…