网络安全-WEB中的常见编码(2)

简介: 网络安全-WEB中的常见编码(2)

Unicode编码

Unicode编码,又称万国码、国际码、统一码,是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode 编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节。

  • UTF-8的特点是对不同范围的字符使用不同长度的编码。
  • UTF-16编码以16位无符号整数为单位。我们把Unicode编码记作U。前缀写为\u、%u。
  • UTF-32编码以32位无符号整数为单位。

Unicode编码与ASCII编码不兼容,但可以转换。

2020062310470442.png

汉字转Unicode编码

“你好”转为Unicode为“\u4f60\u597d”。 下为Python代码:

>>> s = u"\u4f60\u597d"
>>> print(s)
你好

Unicode转ASCII

2020062310470442.png

你好的ASCI编码

HTML编码

使用标签<meta>,例如

<meta charset="utf-8">

除了utf-8,常见的还有

GB2312

发布于1980年,基本集共收入汉字6763个和非汉字图形字符682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,一个字符占两个字节

GBK

GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification),发布于1995年,GBK 向下与 GB2312 编码兼容

2020062310470442.png

没找到合适的网站,这个网站也只能一个字,还不如自己敲代码呢。

汉字进行GBK和Unicode编码

>>> s='你好'
>>> s.encode('gbk')
b'\xc4\xe3\xba\xc3'
>>> s.encode('unicode_escape')
b'\\u4f60\\u597d'

                              HTML特殊符号编码表(部分)

image.png

Base编码

Base16

                                  Base16编码表

image.png

2020062310470442.png

汉字的Base16编码

编码原理,先转为ASCII,两个一组,转为2进制,4个一组,转为10进制,查表即可。

使用网站:一个工具箱-Base16

Base32

20210104203500268.jpgBase32编码表

2020062310470442.png

汉字的Base64编码

使用网站:一个工具箱-Base32

Base64

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,另外两个一般为“+”、"/"。使用“=”作为后缀,如果不够三个字节,即“=”个数为0、1、2。

                                             Base64 编码表

image.png

2020062310470442.png

标题

使用网站:jsons.cn

可尝试“你好”、“i love you too”,观察“=”的个数

还有一些,Base 58、Base 62、Base 85、Base 91、Base 100。例如,比特币使用的是Base58,即123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz,去除了容易混淆的0、o、I(大写的i)、l(小写的L)。

参考

rfc1738-URL

rfc2045-Base 64

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。






相关文章
|
8天前
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
130 2
计算机网络:思科实验【1-访问WEB服务器】
|
8天前
|
开发框架 安全 .NET
【网络安全】web源码详解及拓展
【网络安全】web源码详解及拓展
89 0
|
8天前
|
Kubernetes 网络协议 Python
Python网络编程:从Socket到Web应用
【4月更文挑战第9天】本文探讨Python在网络编程中的应用,包括Socket编程和Web应用开发。Python的`socket`模块支持TCP/IP客户端和服务器,示例展示了一个echo服务器。此外,Python通过Flask、Django等Web框架简化Web应用开发,支持异步Web编程如Tornado和aiohttp。Python也在微服务架构中占有一席之地,适用于构建轻量级、高效的网络服务。
|
8天前
|
存储 网络协议 Linux
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
41 0
|
8天前
计算机网络:编码与调制
计算机网络:编码与调制
13 0
|
8天前
|
安全 网络安全 数据库
01-Web 网络安全纵观与前景分析
01-Web 网络安全纵观与前景分析
|
8天前
|
网络协议 API 网络架构
《Python 简易速速上手小册》第8章:Python 网络编程与 Web 开发(2024 最新版)
《Python 简易速速上手小册》第8章:Python 网络编程与 Web 开发(2024 最新版)
29 0
|
8天前
|
Python
在Python Web开发过程中:网络与并发,解释一下在Web开发中会遇到的长连接与短连接的区别。
Python Web开发中的长连接和短连接影响网络性能。长连接保持开放状态,允许多次数据交换,减少建立/释放开销,适合频繁交互。短连接每次请求新建,简单但高并发时增加开销。长连接利于实时通信,短连接适合HTTP等一次性请求。选择取决于应用需求、资源管理、可靠性和并发处理能力。
14 2
|
8天前
|
SQL 运维 监控
什么是Web应用程序防火墙,WAF与其他网络安全工具差异在哪?
总之,WAF是一种专门用于保护Web应用程序的网络安全工具,与其他网络安全工具在焦点、层级、检测方式、部署位置和针对性等方面存在差异,以确保Web应用程序的安全运行。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
126 0
|
8天前
计算机网络:物理层(编码与调制)
计算机网络:物理层(编码与调制)