认识编码的方法: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培训栏目!
Atas ialah kandungan terperinci 如何认识编码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!