十六进制编码_前嗅教你大数据:常见几种编码介绍

本文介绍了编码的基本概念,包括为什么需要编码,以及常见的几种编码形式:Unicode、ASCII、URL编码、Native编码(如GBK)、Hex编码和BASE64编码的工作原理和应用场景。通过例子帮助理解各种编码在不同场景中的应用,如Unicode在js和json中的使用,ASCII的7位二进制表示,以及URL编码如何避免字符歧义。
摘要由CSDN通过智能技术生成
置顶 “前嗅大数据”数据大牛 一起成长,做牛气哄哄 的大数据人

391948ec09e924dd84d1139cfd80d480.png

作者 | 前嗅 来源 | 前嗅大数据(www.forenose.com)

为什么要编码?

大家可以先思考个问题:

计算机是如何表示我们人类能够理解的符号的,也就是我们人类使用的语言。

965688c6272507eeb28b1270302bfa9b.png

人类的语言有太多了,因而表示这些语言的符号太多。

我们无法用计算机中一个基本的存储单元—— byte 来表示。

因而必须要经过拆分或一些翻译工作,才能让计算机能理解。

1158668090f8d2b1c3771ba55407b0ad.png

我们可以把计算机能够理解的语言假定为英语,其它语言要能够在计算机中使用必须经过一次翻译,把它翻译成英语。

这个翻译的过程就是编码。

所以可以想象只要不是说英语的国家要能够使用计算机就必须要经过编码。


常见的编码有以下几种:

1. Unicode(Unicode Character Set)

Unicode包含除键盘以外的编码是Unicode,又称统一码、万国码、单一码、标准万国码。

Unicode在js、json里出现的比较多。

其格式为:\u+4位字符串\  

例如:\u4e2d\   \u4e2d\   

2. ASCII

美国信息交换标准代码,标准ASCII 码也叫基础ASCII码。

使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0—9、标点符号以及在美式英语中使用的特殊控制字符。

3. URL编码

URL编码原理是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。

可以避免Url中有些字符会引起歧义。

URI编码就是一个字符的ASCII码,它的ACSII码的十六进制式,在前面加上"%",就是它的URL编码。

例如:"/"的ASCII码是92,92的十六进制是5c, 所以"/"的URI编码就是 %5c

  "胡"的ASCII码是-17670, 它的十六进制是BAFA, 所以它的URI编码就是 "%BA%FA"

4. Native编码

每个国家都有自己的Native编码,中国的是GBK(Chinese Internal Code Specification)。

GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位。

GBK编码共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。

5. hex编码

Hex编码的原理就是将原来8位的二进制字节打断,分成两个4位的,并且在前面加上4个零,进行补位。

这样一个8位二进制字节就变成了2个8位的二进制字节,再将新得到的2个二进制字符,进行16位进制转换,得到的新的16位字符串就是Hex的值。

所以二进制的[72, 69, 88]与hex的484558是相等的。

例如:中国——E4B8ADE59BBD

f7878606442b4e383da27b4f5aa31d20.png

6. BASE64编码

Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节。

也就是说,转换后的字符串理论上将要比原来的长1/3。


——如果你觉得不错,点个转发、在看吧。

欢迎添加前嗅微信

cab112b92c74b91a30e6c6082494fead.png

86daa3e313c9d1805e7863651f3ec6ed.png

作者简介

前嗅,企业级大数据供应商,多年来致力于大数据技术研究与开发,自主研发了一套数据采集、挖掘、清洗、分析及可视化的数据处理系统,拥有上万家企业用户。热衷于为大家解决各种数据问题,服务号“前嗅”,微博“@前嗅大数据”,欢迎关注。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值