当前位置: 首页 > Web前端 > HTML

Forenose教你大数据:几种常见编码介绍

时间:2023-04-02 12:16:04 HTML

作者|Forenose的来源|ForenoseBigData(www.forenose.com)大家可以先思考一个问题:计算机如何表示我们人类可以理解的符号,也就是我们人类使用的语言。人类的语言太多了,因此代表它们的符号也太多了。我们不能用计算机中的一个基本存储单位——字节来表示。所以它必须经过拆分或一些翻译工作才能被计算机理解。我们可以假设计算机能够理解的语言是英语,其他语言必须翻译成英语才能在计算机中使用。这个翻译过程就是编码。所以可以想象,只要非英语国家能用电脑,就一定是编码的。常见的编码如下:1.Unicode(UnicodeCharacterSet)Unicode包括键盘以外的编码。它就是Unicode,又称为统一码、万能码、单码、标准万能码。unicode在js和json中出现较多。其格式为:u+4位字符串例如:u4e2du4e2d2.ASCII美国信息交换标准码,标准ASCII码也称基本ASCII码。用7位二进制数字(剩余1位二进制位为0)表示所有大小写字母、数字0-9、标点符号、美式英语中使用的特殊控制字符。3.URL编码URL编码的原理是用安全字符(没有特殊用途或特殊含义的可打印字符)来表示那些不安全的字符。可以避免Url中的一些字符造成歧义。URI编码是一个字符的ASCII码,其ASCII码的十六进制格式,在前面加上“%”,就是其URL编码。例如:“/”的ASCII码是92,92的十六进制码是5c,所以“/”的URI码就是%5c。“胡”的ASCII码是-17670,十六进制码是BAFA,所以它的URI码是“%BA%FA”4.本机码每个国家都有自己的本机码,中国的是GBK(ChineseInternalCodeSpecification).GBK编码是基于GB2312-80标准的内码扩展规范。它采用双字节编码方案,编码范围从8140到FEFE(不包括xx7F),共有23940个码位。GBK编码共收录汉字21003个,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的所有中日韩汉字,收录所有BIG5码中的汉字。5、十六进制编码十六进制编码的原理是将原来的8位二进制字节打断,分成两个4位的,前面加4个0进行填充。这样一个8位的二进制字节就变成了两个8位的二进制字节,再把新得到的两个二进制字符转换成16位的,得到的新的16位字符串就是Hex的值。所以二进制的[72,69,88]等于十六进制的484558。例如:中国——E4B8ADE59BBD6。BASE64编码Base64需要将每三个8Bit字节转换成四个6Bit字节(38=46=24),然后在6Bit上加上两个高位0,组成四个8Bit字节字节。也就是说,转换后的字符串理论上会比原始字符串长1/3。作者简介千玺,一家企业级大数据提供商,多年来致力于大数据技术的研发。独立开发了一套数据采集、挖掘、清洗、分析和可视化的数据处理系统,拥有上万家企业用户。热衷于为大家解决各种数据问题,服务号为“千修”,微博“@qianxiubigdata”,欢迎关注。