我的编程空间,编程开发者的网络收藏夹
学习永远不晚

简单讲解ANSI Unicode、GBK、GB2312

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

简单讲解ANSI Unicode、GBK、GB2312

GB2312:涵盖了所有简体字符以及一部分其他字符

GBK:在GB2312的基础上加入了对繁体字符等其他非简体字符

(K代表扩展)

ANSI编码,通常指的是平台的默认编码,例如英文操作系统中是ISO-8859-1,中文系统是GBK

这些编码会通过代码页直接将字符映射为存储设备上的字节流

缺点也很明显,扩展性差,如果有新的一门语言,往里加的话会不方便,因为其中 的编码已经写死了,只要移动一下 ,原有的编码会很容易打乱。Unicode 则没有这种困扰。

中国的GBK,GB2312和GB18030编码

操作系统在发布的时候,通常会往机器里预装这些标准的字符集还有平台专用的字符集

提问:如果一个文档中有十几个国家的文字,那么文档能正常显示吗?

回答:把所有的编码格式都包含在其中——Unicode

Unicode字符集概述

Unicode字符集涵盖了目前人类使用的所有字符,并为每个字符进行统一编号,分配唯一的字符码(Code Point)

UTF-8 (应用最广的一种Unicode编码方案)

Unicode是两个字节吗?

Unicode只是定义了一个庞大的、全球通用的字符集,并为每个字符规定了唯一确定的编号,具体存储为什么样的字节流,取决于字符编码方案。推荐的Unicode编码是UTF-16和UTF-8。

带签名的UTF-8指的是什么意思?

带签名指的是字节流以BOM标记开始。很多软件会“智能”的探测当前字节流使用的字符编码,这种探测过程出于效率考虑,通常会提取字节流前面若干个字节,看看是否符合某些常见字符编码的编码规则。由于UTF-8和ASCII编码对于纯英文的编码是一样的,无法区分开来,因此通过在字节流最前面添加BOM标记可以告诉软件,当前使用的是Unicode编码,判别成功率就十分准确了。但是需要注意,不是所有软件或者程序都能正确处理BOM标记,例如PHP就不会检测BOM标记,直接把它当普通字节流解析了。因此如果你的PHP文件是采用带BOM标记的UTF-8进行编码的,那么有可能会出现问题。

Unicode编码和以前的字符集编码有什么区别?

早期字符编码、字符集和代码页等概念都是表达同一个意思。例如GB2312字符集、GB2312编码,936代码页,实际上说的是同个东西。但是对于Unicode则不同,Unicode字符集只是定义了字符的集合和唯一编号,Unicode编码,则是对UTF-8、UCS-2/UTF-16等具体编码方案的统称而已,并不是具体的编码方案。所以当需要用到字符编码的时候,你可以写gb2312,codepage936,utf-8,utf-16,但请不要写unicode(看过别人在网页的meta标签里头写charset=unicode,有感而发)。

来源地址:https://blog.csdn.net/qq_42317817/article/details/127448605

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

简单讲解ANSI Unicode、GBK、GB2312

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

简单HCIA题库讲解分析

  简单hcia题库讲解分析:只需要笔试的华为认证HCIA难度会比较低,一般情况下,掌握了对应的知识点后,通过练习题库,通过的难度都不大,接下来编程学习网小编就来简单的讲解分析一下HCIA题库的相关内容。  简单HCIA题库举例  先来带大家看几道简答的HCIA题库里的题目。  1、Tracert诊断工具记录下每一个ICM
简单HCIA题库讲解分析
2024-04-18

Scrapy简单入门及实例讲解

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Am
2023-01-31

Android手势操作简单实例讲解

上一篇介绍的onTouch提供的事件还是相对较简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦,因为我们要根据用户触摸的轨迹去判断是什么手势。幸好Android SDK给我们提供了GestureDetector类,通过这个类我们可以识
2022-06-06

GoLang的sync.WaitGroup与sync.Once简单使用讲解

sync.WaitGroup类型,它比通道更加适合实现这种一对多的goroutine协作流程。WaitGroup是开箱即用的,也是并发安全的。同时,与之前提到的同步工具一样,它一旦被真正的使用就不能被复制了
2023-01-09

基于spring中的aop简单实例讲解

aop,即面向切面编程,面向切面编程的目标就是分离关注点,比如:一个骑士只需要关注守护安全,或者远征,而骑士辉煌一生的事迹由谁来记录和歌颂呢,当然不会是自己了,这个完全可以由诗人去歌颂,比如当骑士出征的时候诗人可以去欢送,当骑士英勇牺牲的时
2023-05-31

JAVA超级简单的爬虫实例讲解

爬取整个页面的数据,并进行有效的提取信息,注释都有就不废话了:public class Reptile { public static void main(String[] args) { String url1=""; //传入
2023-05-30

关于简单网络管理协议的讲解

  本篇文章给大家带来的就是关于简单网络管理协议SNMPV2的详细解析,本篇文章会教给大家网络管理协议SNMPV2的知识点详细解析,希望本篇文章能帮助到你,对你有所收获,网络管理协议就是专门设计用于在 IP 网络管理网络节点,希望大家仔细阅读文章。  1. SNMPv2的新功能:SNMPv2既可以支持完全集中的网络管理
关于简单网络管理协议的讲解
2024-04-18

简单讲解Python编程中namedtuple类的用法

Python的Collections模块提供了不少好用的数据容器类型,其中一个精品当属namedtuple。 namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,更能够方便的通过属性名来访问数据。 在p
2022-06-04

简单讲解Lua中的垃圾回收机制

Lua中的垃圾回收机制是自动的,使用了一种叫做"标记-清除"的算法。在Lua中,当一个对象不再被引用时,它就成为了垃圾。垃圾回收器的主要任务是找出这些垃圾并将其释放,以便空间可以被重用。垃圾回收器通过追踪对象的引用来确定哪些对象是活动的,哪
2023-08-14

require.js使用方法的简单代码讲解笔记

页面需要加载多个js文件时,加载时浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;由于js文件之间存在依赖关系,必须严格保证加载顺序,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。这种情况下require.js插件应运而生。
2022-12-17

Node之简单的前后端交互(实例讲解)

node是前端必学的一门技能,我们都知道node是用的js做后端,在学习node之前我们有必要明白node是如何实现前后端交互的。 这里写了一个简单的通过原生ajax与node实现的一个交互,刚刚学node的朋友可以看一看。一方面理解服务端
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录