最基础的ASCII、Unicode、UTF-8一起来多了解点,消息队列rabbitmq面试
| 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面试相关推荐
- 消息队列RabbitMQ基础知识详解
一: 什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序或者模块对模块的通信方法.MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另 ...
- python基础整理——ASCII码、Unicode、utf-8、gbk
2019独角兽企业重金招聘Python工程师标准>>> 编码的问题其实是各国语言多样性造成的,最初的计算机是美国发明的,而计算机只能处理数据,不能够处理文本文档.因为计算机只能处理数 ...
- ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别
ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总 结网上一些朋友提供的 asc ...
- 字符集和编码规范:ASCII,Unicode和UTF-8, latin1,BIG5,GBK
字符集和编码方式:ASCII,Unicode和UTF-8, latin1,BIG5,GBK 参考: 字符集 字符集编码详解 一. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制 ...
- ascii unicode utf8 gkb之间的关系
Unicode UTF GBK之间的关系,在python中如何转化 2008-07-03 14:48 Unicode是一个字符集,不是一种编码,她只是定义了一个字符空间,把字符集中的字符映射到了相应的 ...
- ANSI,ASCII,Unicode的区别与联系
为什么80%的码农都做不了架构师?>>> ANSI,ASCII,Unicode的区别与联系 http://wenku.baidu.com/view/01d596e3524de5 ...
- 编程通用知识 字符编码(ascii,unicode,utf-8)
ascii,unicode,utf-x都是文字和数字的映射, 因为计算机只能存储数字. ascii 1.早起用8位二进制来编码英文(最前面以为是0,实际只用了7位),既产生了128个元素的ascii码 ...
- 字符编码 ASCII,Unicode和UTF-8的关系
转自:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143166410626 ...
- SpringCloud 微服务 (十) 消息队列MQ 基础
2019独角兽企业重金招聘Python工程师标准>>> 壹 之前学习了SpringCloud Bus结合MQ,没有多学习MQ,本次学习相关内容,先了解异步,同步就不说了 异步: 客户 ...
最新文章
- 从 PoS 进化 SPoS:无能耗共识机制
- php连接oracle10g,php连接Oracle Database 10g Express Edition
- (003)RN开发VSCode配置RN以及常用快捷键
- a onclick 未响应_深大李冰石教授、港科大唐本忠院士:在多重刺激响应性材料领域取得最新进展...
- NOVA 日志报错解决办法
- Linux下安装搜狗拼音输入法
- 啊啊啊...每次需求评审总被boss虐成狗?解药来了
- python连接mongo数据库
- biginteger 原理_Java Bigdecimal使用原理详解
- 我们公司也实行了OKR
- 基于JAVA+SpringMVC+MYSQL的医院分诊挂号管理系统
- Mongo_安装 centos
- 关于Adobe软件安装失败的各类错误代码BUG汇总!!
- Linux中的用户切换:su和su - 的区别
- linux运维故障案列,linux 运维故障排查思路
- poi 灵活导出excel(有这一篇即可~~~~)
- 斯坦福NLP名课带学详解 | CS224n 第14讲 - Transformers自注意力与生成模型(NLP通关指南·完结)
- 3个方法教你怎么避免拼多多比价订单
- HAUT OJ 1504: CXK的篮球数(加强版)--差分法
- 日语输入法时的部分实用快捷键