认识编码的方法:1、Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法;2、【UTF-8】是一种针对Unicode的可变长度字符编码,又称万国码。
认识编码的方法:
编码主要分为两个部分
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
utf-8是unicode的一种编码方式(字符“我”unicode编码后是\u6211 \u表示中文,6211是此字符在对照表中的二进制数据用十六进制展示),是对字符的表达,比如什么样的二进制表达什么样的字符,有对照表,base64是对二进制的编码便于传输的,比如传输一张图片啊就可以把图片的二进制base64编码,通过参数传给其他接收者,不是同一个概念
UrlEncode 将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。(这里也涉及到用什么样的编码方式,一般utf-8,编码方式决定转成什么样的二进制,再经过urlencode转为16进制,按规则加%) 编码出的结果是更适合网络传输和base64一样,但是base64仅仅负责对二进制编码
urlencode编码/urldecode解码
将需要转码的字符转为16进制(采用UTF-8或者gb2312等unicode编码对照表),然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。
比如:空格 ASCII码是32,对应16进制是20,那么urlencode编码结果是:%20,但在新标准中空格对应的是+,见RFC-1738
比如:中ASCII码是-10544,对应的16进制是FFFFFFFFFFFFD6D0,那么urlencode编码结果是:%D6%D0
浏览器采用什么编码,服务器返回的时候告诉浏览器采用什么编码(response.setContentType("text/html;charset=UTF-8");),浏览器在求请求的时候,也根据上一次返回的编码方式,对本次请求的内容比如中文进行此编码方式进行编码想了解更多编程学习,敬请关注php培训栏目!