`
Cykit
  • 浏览: 23516 次
最近访客 更多访客>>
文章分类
社区版块
存档分类

[学习笔记]字符集编码

阅读更多

一、什么是字符集?什么是编码?

字符(Charcter)是文字与符号的总称,包括文字、图形符号、数学符号等。

一组抽象字符的集合就是字符集(Charset)。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。字符集的子集也是字符集。

计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。每种编码都限定了一个明确的字符集合,叫做被编码过的字符集(Coded Character Set),这是字符集的另外一个含义。通常所说的字符集大多是这个含义。

因为制定编码的同时往往也制定了字符集,所以经常把字符集和编码混为一谈,具体区分细节不用细究。

 二、通用字元集(Universal Character Set,UCS)

通用字元集(Universal Character Set,UCS)是由ISO制定的ISO10646(或称ISO/IEC 10646)标准所定义的字元编码方式,采用4字节编码。又称Universal Multiple-Octet Coded Character Set,大陆译为通用多八位编码字符集,臺湾译为广用多八位元编码字元集。

 表示一个UCS或Unicode值的十六进位数通常在前面加上「U+」,例如「U+0041」代表字元「A」。
通用字元集是所有包括了其他字元集。它保证了与其他字元集的双向相容,即,如果你将任何文本字元串翻译到UCS格式,然後再翻译回原编码,你不会丢失任何信息。

 三、unicode

Unicode统一码万国码单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。

2006年6月的最新版本的 Unicode 是 2005年3月31日推出的Unicode 4.1.0 。另外,5.0 Beta已于2005年12月12日推出,以供各会员评价。

Unicode 的编码和实现

大概来说,Unicode 编码系统可分为编码方式和实现方式两个层次。

 1.编码方式

Unicode 的编码方式与 ISO 10646 的通用字元集(亦称[通用字符集])(Universal Character Set,UCS)概念相对应,目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节

 2.实现方式

Unicode 的实现方式不同于编码方式。一个字符的 Unicode 编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 Unicode 编码的实现方式有所不同。Unicode 的实现方式称为Unicode转换格式(Unicode/UCS Transformation Format,简称为 UTF)。

Unicode 的实现方式还包括 UTF-7、Punycode、CESU-8、SCSU、UTF-32等,这些实现方式有些仅在一定的国家和地区使用,有些则属于未来的规划方式。目前通用的实现方式是 UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。

 UCS 和 Unicode 只是分配整数给字符的编码表,UTF-8、UTF-16、CESU-8等则指定了如何存储!

 

 

参考文献:

http://bk.baidu.com/view/40801.htm   unicode参考

http://bk.baidu.com/view/354447.htm  UCS参考

http://bk.baidu.com/view/25412.html  UTF-8参考

分享到:
评论

相关推荐

    字符编码学习

    目前Unicode是采用16位编码体系,其字符集内容与 ISO10646的BMP(Basic Multilingual Plane)相同。Unicode于1992年6月通过DIS(Draf International Standard),目前版本V2.0于1996公布,内容包含符号6811个,汉字...

    JAVA学习笔记第十四天

    JAVA学习笔记第十四天——字符集编码解码、泛型的使用、数据结构栈和链表、集合框架&List,示例代码,里面主要是知识点的具体使用和各种现象。

    net学习笔记及其他代码应用

    答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在dotnet中类(class)与结构(struct)的异同? 答:Class可以被实例化,属于引用类型,是分配在内存的...

    Java学习笔记-个人整理的

    {13.10}可滚动结果集}{201}{section.13.10} {13.11}Procedure}{201}{section.13.11} {14}xml}{204}{chapter.14} {14.1}元素}{204}{section.14.1} {14.2}XML的设计}{205}{section.14.2} {14.3}DTD/Schema}{205}...

    动手学深度学习-学习笔记(四)

    本文的主要内容有:机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer。...而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表不间断空白符nbsp(non-breaking space),超出

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Java开发详解.zip

    032004_【第20章:Java新IO】_字符集笔记.pdf 032005_【第20章:Java新IO】_Selector笔记.pdf 042101_【课程讲解】_附录:Eclipse开发工具笔记.pdf 050101_〖开发实例〗_Java开发实例讲解(人员管理)笔记.pdf

    day023-xml解析笔记和代码.rar

    第一行用了定义xml文件的,写版本号和字符集 1.注释不能放到第一行 1.必需有声明,声明必需在第一行。 2.文档声明的字符编码必需和文档本身的编码一致 2.标签不能交叉嵌套使用(标签名字随便...

    思库教育PHP零基础培训+进阶课程+PHP项目开发实战 21G PHP零基础学习视频教程.txt

    │ │ ├[思库教育]第五集 二进制原理,字符编码原理.wmv │ │ ├【思库教育】第二集 html设计思想和基本格式.mp4 │ │ ├【思库教育】第一集 网页介绍,环境与编辑器.wmv │ │ └第四集 排版标签.wmv │ ├ │ ...

    笔记:动手学深度学习pytorch(机器翻译,Transformer,注意力机制和Sequence to sequence模型)

    – 机器翻译 – 机器翻译与数据集 – 机器翻译 顾名思义,机器翻译就是将一段文本从一种语言翻译到另外一种语言,简称MT,而利用神经网络解决这个问题就被称为神经机器...由于字符在计算机中是以编码的形式存在,我们

    Java-Projects:学习Java的项目集合

    数组和字符串- 用于操作和处理数组和字符串的算法。 谢谢 感谢“破解编码面试”这本书令人惊叹。 链接和电子邮件 问题? 电子邮件 。 “坐在我最喜欢的咖啡馆里,拿着新笔记本和一杯热咖啡,是我对天堂的看法。” ...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

    Feature-Engineering-NLP:借助HuggingFace变压器,Tensorflow,Keras,TextBlob,NLTK,Sci-kit学习等进行功能工程

    数据集: 使用的库: NLTK TextBlob 凯拉斯张量流HuggingFace变形金刚正则表达式大熊猫科学工具学习探索的功能: 情感主观性与极性删除停用词,标点符号和降低的大小写: 生成新闻标题和正文的去词化和词干化版本为...

    OpenRefine-Intro:使用OpenRefine的简介

    与会者将学习刻面,排序和聚类数据如何帮助创建更清洁的数据集以用于其他用途。 他们还将看到在控制和清理数据中使用链接数据/火花端点的一个示例。 受众:高年级本科生,研究生,实验室助理,教职员工和教职员工...

    go开发实战.doc

    1.2.3 学习资料 3 1.3 第一个Go程序 3 1.3.1 Hello Go 3 1.3.2 代码分析 3 1.3.3 命令行运行程序 4 2. 基础类型 4 2.1 命名 4 2.2 变量 5 2.2.1 变量声明 5 2.2.2 变量初始化 6 2.2.3 变量赋值 6 2.2.4 ...

    电子时钟设计(1).doc

    )、地址寄存器等 外部设备用户与机器之间桥梁输入设备任务把用户要求计算机处理数据、字符、文字、 图形和程序等各种形式信息转换计算机所能接受编码形式存入计算机内输出设备任务把 计算机处理结用户需要形式(屏幕...

Global site tag (gtag.js) - Google Analytics