| 0 | NUL(null) | 空字符 |

| 1 | SOH(start of headline) | 标题开始 |

| 2 | STX (start of text) | 正文开始 |

| 3 | ETX (end of text) | 正文结束 |

| 4 | EOT (end of transmission) | 传输结束 |

| 5 | ENQ (enquiry) | 请求 |

| 6 | ACK (acknowledge) | 收到通知 |

| 7 | BEL (bell) | 响铃 |

| 8 | BS (backspace) | 退格 |

| 9 | HT (horizontal tab) | 水平制表符 |

| 10 | LF (NL line feed, new line) | 换行键 |

| 11 | VT (vertical tab) | 垂直制表符 |

| 12 | FF (NP form feed, new page) | 换页键 |

| 13 | CR (carriage return) | 回车键 |

| 14 | SO (shift out) | 不用切换 |

| 15 | SI (shift in) | 启用切换 |

| 16 | DLE (data link escape) | 数据链路转义 |

| 17 | DC1 (device control 1) | 设备控制1 |

| 18 | DC2 (device control 2) | 设备控制2 |

| 19 | DC3 (device control 3) | 设备控制3 |

| 20 | DC3 (device control 4) | 设备控制4 |

| 21 | NAK(negative acknowledge) | 拒绝接受 |

| 22 | SYN(synchronous idle) | 同步空闲 |

| 23 | ETB (end of trans. block) | 结束传输块 |

| 24 | CAN (cancel) | 取消 |

| 25 | EM (end of medium) | 媒介结束 |

| 26 | SUB (substitute) | 代替 |

| 27 | ESC (escape) | 换码(溢出) |

| 28 | FS (file separator) | 文件分隔符 |

| 29 | GS (group separator) | 分组符 |

| 30 | RS (record separator) | 记录分隔符 |

| 31 | US (unit separator) | 单元分隔符 |

| 32 | (space) | 空格 |

| 33 | ! | 叹号 |

| 34 | " | 双引号 |

| 35 | # | 井号 |

| 36 | $ | 美元符 |

| 37 | % | 百分号 |

| 38 | & | 和号 |

| 39 | ’ | 闭单引号 |

| 40 | ( | 开括号 |

| 41 | ) | 闭括号 |

| 42 | * | 星号 |

| 43 | + | 加号 |

| 44 | , | 逗号 |

| 45 | - | 减号/破折号 |

| 46 | . | 句号 |

| 47 | / | 斜杆 |

| 48 | 0 | 字符0 |

| 49 | 1 | 字符1 |

| 50 | 2 | 字符2 |

| 51 | 3 | 字符3 |

| 52 | 4 | 字符4 |

| 53 | 5 | 字符5 |

| 54 | 6 | 字符6 |

| 55 | 7 | 字符7 |

| 56 | 8 | 字符8 |

| 57 | 9 | 字符9 |

| 58 | : | 冒号 |

| 59 | ; | 分号 |

| 60 | < | 小于 |

| 61 | = | 等于 |

| 62 | > | 大于 |

| 63 | ? | 问号 |

| 64 | @ | 电子邮件符号 |

| 65 | A | 大写字母A |

| 66 | B | 大写字母B |

| 67 | C | 大写字母C |

| 68 | D | 大写字母D |

| 69 | E | 大写字母E |

| 70 | F | 大写字母F |

| 71 | G | 大写字母G |

| 72 | H | 大写字母H |

| 73 | I | 大写字母I |

| 74 | J | 大写字母J |

| 75 | K | 大写字母K |

| 76 | L | 大写字母L |

| 77 | M | 大写字母M |

| 78 | N | 大写字母N |

| 79 | O | 大写字母O |

| 80 | P | 大写字母P |

| 81 | Q | 大写字母Q |

| 82 | R | 大写字母R |

| 83 | S | 大写字母S |

| 84 | T | 大写字母T |

| 85 | U | 大写字母U |

| 86 | V | 大写字母V |

| 87 | W | 大写字母W |

| 88 | X | 大写字母X |

| 89 | Y | 大写字母Y |

| 90 | Z | 大写字母Z |

| 91 | [ | 开括号 |

| 92 | \ | 反斜杠 |

| 93 | ] | 闭开括号 |

| 94 | ^ | 脱字符 |

| 95 | _ | 下划线 |

| 96 | ` | 开单引号 |

| 97 | a | 小写字母a |

| 98 | b | 小写字母b |

| 99 | c | 小写字母c |

| 100 | d | 小写字母d |

| 101 | e | 小写字母e |

| 102 | f | 小写字母f |

| 103 | g | 小写字母g |

| 104 | h | 小写字母h |

| 105 | i | 小写字母i |

| 106 | j | 小写字母j |

| 107 | k | 小写字母k |

| 108 | l | 小写字母i |

| 109 | m | 小写字母m |

| 110 | n | 小写字母n |

| 111 | o | 小写字母o |

| 112 | p | 小写字母p |

| 113 | q | 小写字母q |

| 114 | r | 小写字母r |

| 115 | s | 小写字母s |

| 116 | t | 小写字母t |

| 117 | u | 小写字母u |

| 118 | v | 小写字母v |

| 119 | w | 小写字母w |

| 120 | x | 小写字母x |

| 121 | y | 小写字母y |

| 122 | z | 小写字母z |

| 123 | { | 开花括号 |

| 124 | | |

| 125 | } | 闭花括号 |

| 126 | ~ | 波浪号 |

| 127 | DEL (delete) | 删除 |

问题


在英语中,使用128个符号编码便可以表示所有,但是用来表示其他语言,128个符号是不够的。比如,在法语中字母上方有注音符号,它就无法使用ASCII码表示。因此,部分欧洲国家使用字节中闲置的最高位编入新的符号,最多可以表示256个字符,但是,256个字符对于字符超出这个数字的国家就不适用了,比如中国的汉字统计多大10万左右。一个字节最多只能表示256个字符,肯定是不够,要想解决这个问题,就必须使用多个字节表达一个符号。

Unicode

======================================================================

简介


统一码,也称万国码、单一码(Unicode)是计算机领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

编码方式


Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符/码位。码位就是可以分配给这些字符的数字。UTF-8、UTF-16、UTF-32都是讲这些数字转换到程序数据的编码方案。

Unicode字符集早期的标准有UCS-2、UCS-4的说法。UCS-2用2个字节编码,UCS-4用4个字节编码。UCS-4根据最高位为0的最高字节分成2^7=128个group。每个group再根据次高字节分为256个平面(plane)。每个平面根据第3个字节分为256行(row),每行有256个码位(cell)。group 0的平面0被称为BMP(Basic Multilingual Plance)。将UCS-4的BMP去掉前面的两个零字节就得到了UCS-2。

每个平面有2^16=65536个码位。Unicode计划使用了17个平面,一共16*65526=1114114个码为。在Unicode5.0.0版本中,已定义的码位只有238605个,分布在平面0、平面1、平面2、平面14、平面15、平面16。其中平面15个平面16只是定义了两个各占65534个码位的专用区(Private Use Area),分别是0xF0000-0xFFFFD和0x100000-0x10FFFD。所谓专区就是保留给大家放自定义字符的区域,简写PUA。

实现方式


在Unicode中:汉字“字”对应的数字是23383。在Unicode中,我们有很多方式将数字23383表示成程序中的数据,包括:UTF-8、UTF-16、UTF-32。UTF是“UCS Transformation Format”的缩写,可以翻译成Unicode字符集转换格式,即怎样将Unicode定义的数字转换成程序数据。例如,“汉字”对应的数字是0x6c49和0x5b57,而编码的程序数据是:

BYTE data_utf8[] = {0xE6, 0xB1, 0x89, 0xE5, 0xAD, 0x97}; // UTF-8编码

WORD data_utf16[] = {0x6c49, 0x5b57}; // UTF-16编码

DWORD data_utf32[] = {0x6c49, 0x5b57}; // UTF-32编码

这里用BYTE、WORD、DWORD分别表示无符号8位整数,无符号16位整数和无符号32位整数。U

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

TF-8、UTF-16、UTF-32分别以BYTE、WORD、DWORD作为编码单位。“汉字”的UTF-8编码需要6个字节。“汉字”的UTF-16编码需要两个WORD,大小是4个字节。“汉字”的UTF-32编码需要两个DWORD,大小是8个字节。根据字节序的不同,UTF-16可以被实现为UTF-16LE或UTF-16BE,UTF-32可以被实现为UTF-32LE或UTF-32BE。

UTF-8

====================================================================

简介


UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任意字符,而且其编码中的第一个字节仍然与ASCII相容,使得原先处理ASCII字符的软件无需或者只需要进行少部分的修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。

编码字节数

最基础的ASCII、Unicode、UTF-8一起来多了解点,消息队列rabbitmq面试相关推荐

  1. 消息队列RabbitMQ基础知识详解

    一: 什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序或者模块对模块的通信方法.MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另 ...

  2. python基础整理——ASCII码、Unicode、utf-8、gbk

    2019独角兽企业重金招聘Python工程师标准>>> 编码的问题其实是各国语言多样性造成的,最初的计算机是美国发明的,而计算机只能处理数据,不能够处理文本文档.因为计算机只能处理数 ...

  3. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别

    ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总 结网上一些朋友提供的 asc ...

  4. 字符集和编码规范:ASCII,Unicode和UTF-8, latin1,BIG5,GBK

    字符集和编码方式:ASCII,Unicode和UTF-8, latin1,BIG5,GBK 参考: 字符集 字符集编码详解 一. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制 ...

  5. ascii unicode utf8 gkb之间的关系

    Unicode UTF GBK之间的关系,在python中如何转化 2008-07-03 14:48 Unicode是一个字符集,不是一种编码,她只是定义了一个字符空间,把字符集中的字符映射到了相应的 ...

  6. ANSI,ASCII,Unicode的区别与联系

    为什么80%的码农都做不了架构师?>>>    ANSI,ASCII,Unicode的区别与联系 http://wenku.baidu.com/view/01d596e3524de5 ...

  7. 编程通用知识 字符编码(ascii,unicode,utf-8)

    ascii,unicode,utf-x都是文字和数字的映射, 因为计算机只能存储数字. ascii 1.早起用8位二进制来编码英文(最前面以为是0,实际只用了7位),既产生了128个元素的ascii码 ...

  8. 字符编码 ASCII,Unicode和UTF-8的关系

    转自:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143166410626 ...

  9. SpringCloud 微服务 (十) 消息队列MQ 基础

    2019独角兽企业重金招聘Python工程师标准>>> 壹 之前学习了SpringCloud Bus结合MQ,没有多学习MQ,本次学习相关内容,先了解异步,同步就不说了 异步: 客户 ...

最新文章

  1. 从 PoS 进化 SPoS:无能耗共识机制
  2. php连接oracle10g,php连接Oracle Database 10g Express Edition
  3. (003)RN开发VSCode配置RN以及常用快捷键
  4. a onclick 未响应_深大李冰石教授、港科大唐本忠院士:在多重刺激响应性材料领域取得最新进展...
  5. NOVA 日志报错解决办法
  6. Linux下安装搜狗拼音输入法
  7. 啊啊啊...每次需求评审总被boss虐成狗?解药来了
  8. python连接mongo数据库
  9. biginteger 原理_Java Bigdecimal使用原理详解
  10. 我们公司也实行了OKR
  11. 基于JAVA+SpringMVC+MYSQL的医院分诊挂号管理系统
  12. Mongo_安装 centos
  13. 关于Adobe软件安装失败的各类错误代码BUG汇总!!
  14. Linux中的用户切换:su和su - 的区别
  15. linux运维故障案列,linux 运维故障排查思路
  16. poi 灵活导出excel(有这一篇即可~~~~)
  17. 斯坦福NLP名课带学详解 | CS224n 第14讲 - Transformers自注意力与生成模型(NLP通关指南·完结)
  18. 3个方法教你怎么避免拼多多比价订单
  19. HAUT OJ 1504: CXK的篮球数(加强版)--差分法
  20. 日语输入法时的部分实用快捷键

热门文章

  1. 用ANSYS画矩形_3D建模:用SolidWorks画一个一字螺丝刀
  2. H3C 交换机恢复出厂设置以及知识积累
  3. NextCloud安装及配置(docker-compose)
  4. 组合数学--不相邻的组合数
  5. excel学习-单元格引用(相对引用+绝对引用+混合引用)
  6. 大学计算机课试题答案,大学计算机基础试题及答案课件.doc
  7. 8月10日模拟赛题解
  8. 电脑系统数据堆积过多想要重装win10系统,一键装机工具哪个好用?
  9. 使用eclips创建Maven项目
  10. D3.js实现力导向图(Dray和Zoom)