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. 科来网络分析系统概要介绍
  2. 【java】Charset 字符集
  3. 创业融资十项注意要点
  4. 程序员:你的业余时间是怎么被浪费掉的?
  5. python configparser 注释_使用configpar添加注释
  6. 【CodeForces - 670D1 】Magic Powder - 1 (模拟 或 枚举 或二分优化)
  7. ASP脚本语言之vbscript用法
  8. 对警报线程池的警报线程_如何建立更好的警报
  9. python标准化输出到txt_3大利器推荐,帮你写出规范漂亮的python代码
  10. linux yml文件格式,YML 文件扩展名: 它是什么以及如何打开它?
  11. 计算机编程学英语词汇,计算机编程常用英语词汇
  12. win10投影无法正常使用:我们正在确认此功能 解决方法
  13. CSS font-famil 字体样式大全
  14. 往word表中写数据
  15. “大多数”餐馆收银系统被用于盗用信用卡信息的恶意软件感染
  16. 数据埋点是什么?设置埋点的意义是什么?
  17. 《算法分析与设计》练习6
  18. 我相信,一定有那么一句话可以温暖你的心
  19. 五款最棒的Go语言开发工具?
  20. Deepstream 资料阅读记录

热门文章

  1. 计算机降序符号,降序
  2. mysql主从配置 ssl,MySQL配置SSL主从复制
  3. 中国各个城市OSM地图数据
  4. 3月9日-----3月13日五年级课表
  5. Latex转换成word
  6. VUE 自身页面跳转自身页面
  7. php网站实战,PHP实战之WEB网站常见受攻击方式及解决办法
  8. Python是个什么鬼?
  9. C#实现基于ffmpeg加虹软的人脸识别demo及开发分享
  10. C++界面库大全2013