《编码与字符集总结ppt课件.ppt》由会员分享,可在线阅读,更多相关《编码与字符集总结ppt课件.ppt(9页珍藏版)》请在三一办公上搜索。
1、编码与字符集,殷坤2015年7月16日,ASCII编码:,计算机中存放的都是0和1的二进制值。8个位对应一个字节,常用16进制来表示而我们普通用户所希望看到的是,计算机把其所存储的对应的16进制的数值,转化为对应的字符,包括英文和中文等其他语言的字符,然后输出到屏幕上美国国家标准学会(American National Standard Institute , ANSI )制定的,标准的单字节字符编码方案,主要用于显示现代英语和其他西欧语言ASCII字符集共27=128个字符 = 33个控制字符 + 95个可见字符,这点数量的字符也就懂英语的可以用!,字符集和编码方式的多样化,随着计算机在全世
2、界的广泛使用,字符的显示要考虑加入其他国家的语言文字,JAVA的字符串处理,编码:1.byte getBytes():使用系统默认的字符集编码成byte数组2.byte getBytes(String charset):使用给定的charset字符集编码成byte数组解码:1.String(byte bytes):使用系统默认的字符集解码指定的byte数组,并构建新的字符串2.String(byte bytes,String charset):使用指定的字符集解码并创建新的字符串,Unicode与UTF-8的转换,“汉”字的Unicode编码是0 x6C49。0 x6C49在0 x0800-0
3、 xFFFF之间,使用用3字节模板了:1110 xxxx 10 xxxxxx 10 xxxxxx。将0 x6C49写成二进制是:0110 1100 0100 1001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89,GBK、GB2312转换为UTF-8,GBK是一种字符集,UTF-8是基于Unicode的编码方式,所以核心问题就是GBK与Unicode的转化问题。,既然是两个字符集的转换问题,那么自己去查表吧!,HTTP协议的编码,HTTP协议总体分为HTTP头和实体内容(Get请求一般不需要),请求有请求行,响应有状态行。实体
4、内容的编码一般由头部的content-type决定而对于Get请求,都是把数据串联在请求的url后面作为参数,url拼接完成后,浏览器会对url进行URI Encoder,然后发送给服务器。URLEncoder:英文字母不变,. * _ -不变,空格字符变成+,其他字符先使用某个编码机制然后每个字节用一个包含3个字符的字符串%xy 表示,其中xy为该字节的两位十六进制表示形式,Base64编码,Base64是网络上最常见的用于传输8bit字节代码的编码方式之一, Base64编码可用于在HTTP环境下传递较长的标识信息,Base64 也会经常用作一个简单的“加密”来保护某些数据,而真正的加密通常都比较繁琐标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,所以又有一种url safe的base64编码,其实就是把字符+和/分别变成-和_,Base64编码规则,将每三个字节作为一组,一共是24个二进制位,将这24个二进制位分为四组,每个组有6个二进制位,即:3*8=6*4例:我二进制:11100110 10001000 10010001分组(6个一组):111001 101000 100010 010001高位补0: 00111001 00101000 00100010 00010001查表:5oiR,