从数据展示中汉字缺失了解字符编码知识

news2024/10/6 12:24:56

有人在使用皕杰报表时遇到如下问题:
在这里插入图片描述

有些汉字变成了“?”,这是为什么呢?实际上就是你用的字符集里没有这个汉字导致的,要想搞懂这个问题,还得从字符、字符集、字符编码说起。
所谓字符,就是各种文字和符号的总称。
所谓字符集,就是很多字符组成的集合。
所谓编码,就是通过一定的映射规则将字符表示成计算机中的数据以编码和存储。
由于映射规则不同,所以字符的编码不是唯一的,于是就产生了各种各样的字符集,但这些字符集有相通的部分,那就是都兼容ASCII字符集。
在这里插入图片描述

ASCII是最基本的英文字符集,是计算机的基础。ASCII中每个字符占用一个字节的后面7位,最前面的1位统一规定为0。在ASCII编码中,共有128个字符,其中0~31 是控制字符如换行回车删除等,32~126 是可打印字符,可以通过键盘输入并且能够显示出来。
下面就学习一下常用的字符集:
一、 iso8859字符集
iso8859字符集实际上是ASCII码 的扩展,称为EASCII(Extended ASCII)。在EASCII中表示的256个字符中,前128字符和ASCII编码表示的字符完全一样,后128个字符由欧洲各个国家或地区定义自己的编码标准。
根据这个规则,就形成了一系列标准:ISO-8859-1、ISO-8859-2、ISO-8859-3、……、ISO-8859-16。这些子标准适用于欧洲不同的国家地区,例如:
ISO8859-1 字符集,也就是 Latin-1,是西欧常用字符,包括德法两国的字母。
ISO8859-2 字符集,也称为 Latin-2,收集了东欧字符。
ISO8859-3 字符集,也称为 Latin-3,收集了南欧字符。
其它具体是哪个国家的标准请自行查询。
二、 Unicode字符集
Unicode是由Unicode联盟开发的一种字符编码方案,旨在通过对所有人类语言中的字符进行编码,实现跨平台、跨应用程序和跨语言的数据交换。Unicode字符集是一个很大的字符集合,包含了全世界所有的字符。Unicode只是一个字符集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何编码如何存储。于是出现了三种编码规则,分别用1到4个字节,2个字节以及4个字节表示一个字符,对应的编码是utf-8,utf-16,utf-32。
Utf-8是一种针对Unicode的可变长度字符编码规则,又称万国码,用1到4个字节编码Unicode字符。其编码规则为:
1、对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
2、对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
Unicode符号范围 | UTF-8编码方式
UTF字节数 (十六进制) | (二进制)
一个字节 0000 0000-0000 007F | 0xxxxxxx
两个字节 0000 0080-0000 07FF | 110xxxxx 10xxxxxx
三个字节 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
四个字节 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Utf-8编码巧妙地运用开头n位字符表示出是由几个字节组成的编码,0开头的是一个字节编码,11开头的是2个字节编码,111开头是三个字节编码,1111开头是四个字节编码。
utf-16固定用两个字节来表示一个编码。
utf-32固定用四个字节来表示一个编码。
由于这两种编码在报表里比较少使用,这里就不多说明了。
三、 中文字符集
主要是GB2312、GBK、GB18030字符集,字符集的名称同时也是编码的名称。
1、GB2312
GB2312是我国对ASCll码的扩展,占用两个字节。GB2312编码是第一个汉字编码国家标准,共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
2、GBK
GBK是对GB1212的扩展,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
3、GB18030
GB18030采用变长编码,可以是1个字节、2个字节和4个字节。是对GB2312和GBK的扩展,完全兼容两者。
在皕杰报表中如果遇到有的汉字显示不了,并不是报表的问题,一定是你使用的编码中汉字不全造成的。换一个汉字比较全的编码即可,采用utf-8或GB18030基本可以解决中文不全问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/418952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

定时任务练习----Linux 定时发送邮件 ( QQ 邮箱 为例)

邮件设置 : 在 QQ 邮箱的最上面 ,点击设置。 在账户 这一栏,往下面走 找POP3 开头的栏目 在 POP3/SMTP 服务这一行,点击开启 ( 本身是 关闭状态 ) 关于 POP3 和 SMTP 服务需要做以说明 ; >>> 我…

技术管理笔记1

看点杂篇,整理下笔记: 目录: 1技术的本质 2 技术团队管理的本质 3 技术管理者的能力要求 4 技术管理者风格类型 5 实战案例分析: 一技术的本质 技术存在感低,缺乏话语权,以业务导向为主。 二 技术团…

Spring Cloud第二季--OpenFeign和Feign

文章目录一、Feign二、Feign和OpenFeign的区别三、案例测试1、eureka注册中心集群7001/70022、两个微服务3、OpenFeign一、Feign Spring Cloud Feign的介绍在Spring Cloud学习–声明式调用(Feign)中详细介绍。 简单回顾下,Feign是一个声明式…

UTF-8(Unicode Transformation Format)

文章目录一、Unicode示例代码:二、网络传输与Unicode三、UTF-8如何编码四、使用UTF-8转换传输Unicode五、利用Java-API进行UTF8编码和解码六、利用代码输出Unicode编码和UTF8编码七、手写UTF8编码、解码八、总结UTF8一、Unicode 示例代码: package demo…

【Ubuntu安装选项】

关于Ubuntu系统安装选项 [TOC](关于Ubuntu系统安装选项) 安装选项选择 一、*Try or Install Ubuntu 二、Ubunru (safe graphics) 三、OEM install (for manufacturers) 四、Test memory 总结 安装选项选择 在安装Ubuntu系统时会有四个选项,搜…

模型部署学习--有三AI(视频要收费So没学完)

视频地址:深度学习之模型部署 模型的整个使用流程 从模型训练到部署 一 部署平台选择: 1、在线服务器端部署,精度优先: 大模型/分布式(如千亿级参数模型GPT-3) 延迟不敏感(如以图搜图应用&am…

chatgpt批量写作-chatgpt批量生成文章

cchatgpt写作 ChatGPT是一种基于Transformer架构的自然语言处理技术,它可以用于文本生成和对话场景,可以辅助写作、创作等任务。以下是一些使用ChatGPT进行写作的方法和技巧: Fine-tuning预训练模型:ChatGPT模型预训练时需要大量…

数字孪生卫星:概念、关键技术及应用

源自:软件定义世界 摘 要 在分析卫星产业发展趋势与升级转型新需求后,为推动卫星与新技术融合发展,提升大型卫星工程的整体管理水平与流程管控能力,促进卫星产业数字化、网络化、智能化、服务化转型升级,将数字孪生技…

百度天工AIoT设备应用使能平台助力企业低成本开发

数字中国建设的顶层文件《数字中国建设整体布局规划》(以下简称《规划》)于近日印发,作为数字中国建设的重要基础,《规划》指出,要全面赋能经济社会发展,推动数字技术和实体经济的深度融合,产业…

C++语法(15)---- 继承

C语法(14)---- 模板进阶_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130092939?spm1001.2014.3001.5501 目录 1.继承概念和定义 1.概念 2.定义 1.格式 2. 继承关系和访问限定符 2.基类和派生类对象赋值转换 3.…

ERTEC200P-2 PROFINET设备完全开发手册(5-2)

5.2 TIA 数据记录操作 在PLC的程序中,可以通过指令RDREC和WRREC读写数据记录,在参考代码里可以看到读写操作都实现了index 2的记录数据,并且初始化为: #define DEMO_RECORD "ABCDEFGH" 首先定义要写入和读出的数据…

【LeetCode】剑指 Offer(26)

目录 题目:剑指 Offer 51. 数组中的逆序对 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 51. 数组中…

数据库MySQL —— 锁

目录 一、概述 二、全局锁 三、表级锁 1. 表锁 2. 元数据锁 3. 意向锁 四、行级锁 1. 行锁 2. 间隙锁 / 临键锁 一、概述 锁 是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外&…

channel 源码解析(5问)

目录 1.channel底层数据结构是什么 2.channel创建的底层实现 3.channel 的发送过程 4.channel的接受过程 5.关闭 channel 1.channel底层数据结构是什么 channel底层的数据结构是hchan,包括一个循环链表和2个双向链表 type hchan struct {qcount uint // tota…

Linux命令·route

Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通…

BGP小型实验

实验分析 1.主要考察的是对BGP配置的熟练 2.实验需要在R1与R5分别发布一条路由可以在BGP 中使用network 网段 掩码命令 3.R1与R2,R4与R5是EBGP,而R2,R3,R4是IBGP 实验操作 1.配置接口ip,与环回路由 以R1为例 2.AS内部需要实现非直连的建立是需要保证IBGP内部是通的所…

网络编程之IP协议

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

ChatGPT 存在很大的隐私问题

当 OpenAI 发布时 2020 年 7 月的 GPT-3,它提供了用于训练大型语言模型的数据的一瞥。 根据一篇技术论文,从网络、帖子、书籍等中收集的数百万页被用于创建生成文本系统。 在此数据中收集的是您在网上分享的一些关于您自己的个人信息,这些数据现在让 O…

YGG 代表 Web3 Gaming 参加 2023 年游戏开发者大会

Yield Guild Games(YGG)在 2023 年 3 月 20 日至 24 日在加州旧金山举行的游戏开发者大会(GDC)上大显身手,这是游戏开发者的重要交流学习活动。虽然 GDC 本身提供了多种多样的活动,包括讲座、小组讨论、圆桌…

基于html+css的盒子展示6

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…