前端中常用的编码格式
作者:互联网
计算机中的编码
ascii
机器只可执行的二进制编码, 一个字节(byte)是八位二进制位(bit)可表达256种字符
英文的128位对应了ascii码
unicode
放到多语言环境就不够使用, 找到了一种全集的解决办法: unicode
, 这个符号集规定了符号的二进制代码, 但是没有指定如何存储。
比方说严
的二进制代码是100111000100101
, a
是01000001
。
这种长度不定,一是计算机无法分割出具体的字符,而是若是统一成固定的字节长度,会造成内存极大的浪费。
utf-8
utf-8是unicode的一种实现方式, 特点是可变长度。
utf-8的规则:
- 使用1-4个字节表达字符
- 如果第一个字节的开头为0,那么这个为单字节字符,可表达128位字符与ascii码一样
- 如果字符需要用n(n > 1)个字节表示, 那么第一个字节的开头n位为1,n+1位为0,第2个至第n个字节的前两位一致设为10
utf-8对照表
转换
字节数 | utf-8 | 范围 | 十进制 | 十六进制 | unicode |
---|---|---|---|---|---|
1 | 0xxxxxxx | 00000000 ~ 01111111 | 0 ~ 127 | 0 ~ 7F | |
2 | 110xxxxx 10xxxxxx | 11000001 10000000 ~ 11011111 10111111 | 128 ~ 2047 | 80 ~ 7FF | |
3 | 1110xxxx 10xxxxxx 10xxxxxx | 111000000 10100000 10000000 ~ 11101111 10111111 10111111 | 2048 ~ 65535 | 800 ~ FFFF | |
4 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | 11110000 10010000 10000000 10000000 ~ 11110111 10111111 10111111 10111111 | 65536 ~ 2097151 | 10000 ~ 1FFFFF |
文本类资源utf-8
- html
- css
- javascript
图片类资源
base64
2的六次方是64
原理:
8 3 = 6 4
- 取3个字符为一组, 重新生成为6 * 4的形式
- 对照base64生成表转换
思考: 优缺点?
缺点: 内容变大, 放到html里面无法缓存
优点: 可打印传递, 图片资源在网页中不需要再加载额外的http请求
视频音频类资源
参考链接
原文:大专栏 前端中常用的编码格式
标签:编码,utf,字节,字符,前端,10xxxxxx,unicode,格式,10111111 来源: https://www.cnblogs.com/wangziqiang123/p/11618399.html