首页
学习
活动
专区
圈层
工具
发布

字符集与字符编码的区别与演进(ASCII、GBK、UNICODE)

演进:GB2312(2字节)→扩展繁体字→GBK(2字节)→扩展少数民族中日韩等→GB18030国家标准(4字节)。...注意GBK都是向下兼容的,即GB18030兼容GB2312,因为使用的编码位置没有重叠。 1.3.1 大五码 Big5码是一套双位元组字符集,使用了双八码储存方法,以两个字节来安放一个字。...具体来说,定义的是下列字节: 范围 第1字节 第2字节 编码数 字数 水准GBK/1 A1–A9 A1–FE 846 717 水准GBK/2 B0–F7 A1–FE 6,768 6,763 水准GBK/...3 81–A0 40–FE (7F除外) 6,080 6,080 水准GBK/4 AA–FE 40–A0 (7F除外) 8,160 8,160 水准GBK/5 A8–A9 40–A0 (7F除外) 192...2.3 GBK 事实上我们使用的GBK、GB18030都是标准,但由于我们的标准只对应一套特定的字符集,所以可以认为GBK就是字符集。

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    警示:AL32UTF8字符集不是ZHS16GBK字符集的超集

    今天有客户向我咨询:数据库由ZHS16GBK字符集修改为AL32UTF8字符集,发现中文的数据中小部分出现乱码,客户认为AL32UTF8明明可以支持更多的文字,不应该出现这样的情况才对。...不过,之前也一直有个误区,我们都知道AL32UTF8是可以支持多国语言的字符集,对于中文字节存储占用空间比ZHS16GBK多,然后第一反应就认为AL32UTF8应该是ZHS16GBK的超集。...这就说明我们要改的AL32UTF8字符集并不是ZHS16GBK的超集。...而客户端是Windows,chcp结果是936,也就是ZHS16GBK,这也进一步说明了ZHS16GBK和AL32UTF8字符集的不同。...同时实验还验证,如果数据库字符集本身是AL32UTF8,想修改成为ZHS16GBK字符集,也是一样的情况,需要加internal_use参数才可以转换,也就是说这种转换一样可能出现乱码,不过这个情况反倒好理解

    2.3K60

    【字符编码那些事】ASCII、GB2312、GBK、UTF-8编码以及Unicode字符集

    GBK编码 GBK编码在GB2312的基础上又增加了14240个汉字、生僻字和符号。...GBK标准进行解码,然后从第三个字节开始继续遍历检测。...在包含汉字数量上来说,Big5是GBK的子集,但是二者的编码方式是不同的,比如同样“啊”,GBK编码为0xB0A1,Big5编码为0xB0DA。...四、Unicode字符集 每个国家和地区都有一套自己的文字,不同的文字系统就要使用不同的编码标准,这就出现这样一个问题,同一个二进制编码在不同的编码标准中可能代表了不同的字符,比如0xB0A1,在GBK...而Unicode字符集在0xD800~0xDBFF区间内的编号不表示任何字符,UTF-16用这段编号与Unicode字符集中大于0xFFFF的字符编号进行映射,得到扩展的4字节编码。

    3.8K10

    GB2312、GBK、GB18030 这几种字符集的主要区别是什么?

    1 GB2312-80 GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称 GB 0,由中国国家标准总局发布,1981 年 5...对于人名、古汉语等方面出现的罕用字,GB 2312 不能处理,这导致了后来 GBK 及 GB 18030 汉字字符集的出现。...GBK 编码区分三部分: 汉字区 包括 GBK/2:OXBOA1-F7FE, 收录 GB 2312 汉字 6763 个,按原序排列; GBK/3:OX8140-AOFE,收录 CJK 汉字 6080...图形符号区 包括 GBK/1:OXA1A1-A9FE,除 GB 2312 的符号外,还增补了其它符号 GBK/5:OXA840-A9AO,扩除非汉字区。...3 GB18030 GB 18030,全称:国家标准 GB 18030-2005《信息技术中文编码字符集》,是中华人民共和国现时最新的内码字集,是 GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充

    4.4K31

    Linux字符集、编码、转码、字体相关知识

    字符集 字符集,就是把一批字符排个序放到一个表格中。比如ASCII(英文字母数子标点符号等)、GBK(汉字)、Unicode(统一的字符编码,包括世界上所有字符)。...又比如中文GBK字符集采用单字节或双字节编码一个字符,也是直接存储数字ID。编码中,前128个编码都是单字节编码,范围0x00-0x7F,与ASCII相对应。...在Linux系统中,字体文件通常存储在以下几个主要路径中: 系统字体路径: /usr/share/fonts/:这是系统字体的主要存储路径,包含了预安装的系统字体。...Fixed16.psfu.gz 关于代码页(Code Pages) Windows代码页,比如我们最长见的CP936(代表中国 - 简体中文(GB2312)),就是字符编码在Windows上的一种表示方法,Linux...在Linux系统中,输入法框架(如IBus、fcitx)也通常使用Unicode编码。 输入法引擎将用户输入的字符转换为Unicode码点,并将其传递给目标应用程序。

    58810

    相克军_Oracle体系_随堂笔记013-字符集

    ZHS16GBK 2.国家字符集 一般都选用AL16UTF16 unicode字符集: UTF8 很老的,不用了。...注:实际生产环境,如果确定数据库只是中国人用(只有中英文相关字符)的话,就采用ZHS16GBK.. sql*plus客户端(设置原则:与所在操作系统字符集一致): windows:一般都是gbk,即chcp...结果为936 set NLS_LANG=american_america.zhs16gbk 语言和地区为中文中国的话,set NLS_LANG=simplified chinese_china.zhs16gbk...linux:一般为utf-8,即echo $LANG 结果为en_US.UTF-8 或zh_CN.UTF-8 export NLS_LANG=american_america.utf8 测试:客户端Linux...服务器操作系统字符集(暂时忽略) ps: 1.因为sql*plus 本身没有字符集,依赖于所在操作系统的字符集,而在远端linux上的oracle也是无法直接访问到windows上的字符集,所以依靠sql

    84410

    【Oracle字符集】识别及转换导出文件的字符集

    ,Solaris是Big-Endians,Linux是Little-Endians,所以Linux上的输出通过交换可以得到: 0303 5445 58504f52 …....to_char('852','xxxx') from dual; TO_CH ----- 354 对应前两张图 第2、3字节,就知道该导出文件字符集为ZHS16GBk。...最常见的转换发生在从US7ASCII到ZHS16GBK之间。 由于很多数据库最初以US7ASCII字符集存储中文,单纯通过导出导入是无法完成字符集转换的。...对于这种情况,可以通过设置导出字符集为US7ASCII,原样导出数据;导出后修改导出文件的第二、三字符,修改0001为0354,这样就可以将US7ASCII字符集的数据正确导入到ZHS16GBK的数据库中...如果导出文件使用的字符集是US7ASCII,目标数据库的字符集是ZHS16GBK,就可以使用create database的方法来修改,具体操作如下: ? ?

    4.1K40

    windows平台下编辑的内容传到linux平台出现中文乱码的解决办法

    现象说明:在windows下编辑的内容,上传到linux平台下出现中文乱码。...文件,将字符集改为"UTF-8" 按Win键+run出现"运行",在里面输入"notepad"即可打开记事本。...主机传文件是经常的事,但有时文件名有中文,传到Linux机器会有乱码,选择起来也很麻烦,下面简单说下应对方法: 解决办法: 一般这种问题是文件的编码字符集、Shell编码字符集、XShell编码字符集不匹配...临时办法 1)简体中文的Windows一般使用GB字符集,这里将XShell设置为GBK 2) Linux主机 [root@AppServer1 ~]# export LANG=zh_CN.gbk 或者...永久生效 1) XShell属性设置 2) Linux环境变量设置 [root@AppServer1 ~]# vim /etc/profile export LANG=zh_CN.gbk /

    3K80

    MySQL字符集详解

    为例,生产中多数时linux,在linux里面除了latin1之外都是utf8的字符集):     mysql> show variables like "%char%";     +--------...(COLLATION),当然一个字符集也可能相应多个校对规则,可是两个不同的字符集不能相应同一个规则。...使用默认的就可以了   以下来看看上面命令列出的字符集相关变量的含义: character_set_client:server解析客户端sql语句的字符集....比如:linux系统的终端编码是UTF8,系统默认语言和编码为zh_CN.UTF8.我们有一个数据库名为test,test中有个表名为t1,编码为latin1,另外,我们在mysqlclient运行了SET...二、MySQL字符集编码层次   第一部分主要是归纳了MySQL文档中关于字符集编码的说明。这部分主要说明下MySQL中字符集编码层次:服务端-->数据库-->表-->字段。

    4.2K10

    【LuckiBit】编码格式详解:字符、字符集与编码方式的系统全面解析

    一、概览总览表:字符 → 字符集 → 编码方式的关系 概念 作用 例子(字符 “你”) 功能描述 字符 人类语言的最小可书写单位 你 表达意义的抽象符号 字符集 将字符映射为唯一编号(码点) 你 → U...GBK 1~2 字节 是 否 Windows 系统 常用,不是国际标准 BIG5 BIG5 2 字节 否 否 台湾地区 与 GBK 不兼容 UTF-8 Unicode 1~4 字节 是 是 网络传输、...跨平台 ANSI 错误 Linux 不识别 ANSI 编码 保存时转换为 UTF-8 附录、编码相关工具和网站 A....工具推荐 工具名称 功能 平台 iconv Linux下编码转换 Linux Notepad++ Windows 下编码打开、保存 Win Visual Studio Code 编码显示、下方栏切换编码...Win/macOS/Linux Sublime Text 支持编码显示和指定 跨平台 B.

    21910
    领券