1.编码(Unicode)    

unicode(统一码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

最早的计算机在设计时采用8个比特(bit)作为一个字节(1字节=8位,即1个字节对应8位二进制数),一个字节能表示的最大的整数是255,0-255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码。

中国字比较多,1个字节只能表示256个字符,2个字节是2*8=16位,可以表示65535个字符。6万多个足以表示我们经常用的那些字了。所以我们用2字节表示汉字。且不能和ASCII编码冲突,所以中国制定了GB2312编码,用来把中文编进去。

类似的,日文和韩文等其他语言也有这个问题,为了统一所有文字的编码,Unicode营运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode给所有的字符指定了一个数字用来表示该字符。

Unicode仅仅只是一个字符集,规定了符合对应的二进制代码,至于对这个二进制代码如何存储并没有任何规定。

unicode编码系统,可以分为编码方式和实现方式两个层次。

通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字-节编码。

UTF是“Unicode Transformation Format”的缩写,可译为Unicode字符集转换格式,即怎样将Unicode定义的数字转换成程序数据。

2.Unicode编码方案

Unicode没有规定字符对应的二进制码如何存储。Unicode只规定了字符对应的二进制数据,但是没有规定这种二进制数据在内存中具体用几个字节存储。为了较好的解决Unicode的编码问题,UTF-8是在互联网上使用最广的一种Unicode的实现方式(之一)。UTF-8最大的特点是可变长,可以使用1-4个字节表示一个字符,根据字符的不同变换长度。

Bytes的数据与字符串类型数据的转换就是编码与解码的转换,utf-8是编码时指定的格式。

3.编码与解码

编码 / 解码本质上是一种映射(对应关系)。

编码:真实字符与二进制串的对应关系,真实字符——>二进制串

解码:二进制串与真实字符的对应关系,二进制串——>真实字符

编码Unicode与解码相关推荐

  1. 韩文编码python_python中的字符串编码问题——4.unicode编解码(以实际工作中遇到的韩文编码为例)...

    韩文unicode编解码 问题是这样,工作中遇到有韩文数据出现乱码,说是unicode码. 类似这样: id name323 52186863 149 63637538 314 65516863 32 ...

  2. 字符编码 unicode 及其在javascript 中的使用

    一.javascript 使用 unicode16 字符集,可以使用中文变量名和函数名 计算机使用 8 位(bit)二进制表示一个字节(Byte),计算机内存最小寻址单位就是 1 字节. 早期为了在计 ...

  3. 编码 unicode 及其在 javascript 中的使用

    编码 unicode 及其在 javascript 中的使用 一.javascript 使用 unicode16 字符集,可以使用中文变量名和函数名 计算机使用 8 位(bit)二进制表示一个字节(B ...

  4. python中unicode编码表_Python中的字符串操作和编码Unicode详解

    本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧. 字符串类型 str:Unicode字符串.采用''或者r''构造的字符 ...

  5. 站长在线Python精讲:Python中字符串编码转换encode编码和decode解码详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中字符串编码转换:encode编码和decode解码详解>.本知识点主要内容有:常用编码简介.使用encode( ...

  6. 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解

    GBK,ISO-8859-1,GB2312的本质区别 编码有几种 ,计算机最初是在美国等国家发明的 所以表示字符只有简单的几个字母只要对字母进行编码就好 我们标准码 iso-8859-1 这就是一个标 ...

  7. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

    转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...

  8. python decode()函数 (使用登记用于编码的编解码器解码字节)

    def decode(self, *args, **kwargs): # real signature unknown"""Decode the bytes using ...

  9. 关于支付接口回调地址参数字段是“notify_url”,签名过后的特殊字符url编码以后再解码后出现错误(¬ , ¢, ¤, £)

    今天对接支付接口,参数拼接完了,开始调用的时候,一直报错,签名错误. 但是我用第三方给的签名测试mode测试签名,返回的是true. 这就非常他娘的奇怪. 经过一个个参数对比,我发现,notify_u ...

最新文章

  1. 为什么vs数据库中文显示问号_本科论文知网不收录为什么会被知网查重到?
  2. 从易于扩展扩展的角度来设计FizzBuzzWhizz
  3. 【Java框架】 Hibernate与Mybatis对比
  4. VNC介绍(第一篇)
  5. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能...
  6. MyBatis在Oracle中插入数据并返回主键的问题解决
  7. oracle基本的操作
  8. [蛋蛋无厘头日记]约会ing~~
  9. 华为宣布方舟编译器将于8月31日
  10. oracle sqlLoader 批量导入工具使用说明
  11. [转]ASP.NET MVC 入门3、Routing
  12. Microsoft.Office.Interop.Excel 报错
  13. 不透明度十六进制_十六进制不透明度表
  14. R语言manova函数多元方差分析(MANOVA)、单因素多元方差分析的两个假设是多元正态性和方差-协方差矩阵的齐性、QQ图评估多元正态性、mvoutlier包中的aq.plot函数检验多变量异常值
  15. win7设置护眼模式
  16. android 重力感应小球 Demo
  17. MiniGUI编程指南
  18. Python | peewee.InterfaceError
  19. 阿拉伯数字小写金额转换成中文大写金C额程序说明
  20. GBase 8c 远程数据库连接

热门文章

  1. Mac M1芯片安装李沐深度学习包d2l
  2. Java基础之读取键盘录入
  3. java 数组赋值_java中为数组赋值的方法
  4. 有哪些时候4090显卡训练模型的电源
  5. 【jzoj4637】【大鱼海棠】
  6. 蓝桥杯-python-十进制转十六进制-字母大小写转换|CSDN创作打卡
  7. linux 进程 kswapd0 cpu占用过高
  8. Vue input的blur事件影响下拉框中点击事件的解决方案 用mousedown/mousedown替代click
  9. 黑客狙击Oracle系统的八大方法
  10. js实现身份证精确校验