其他分享
首页 > 其他分享> > 前端中常用的编码格式

前端中常用的编码格式

作者:互联网

计算机中的编码

ascii

机器只可执行的二进制编码, 一个字节(byte)是八位二进制位(bit)可表达256种字符
英文的128位对应了ascii码

unicode

放到多语言环境就不够使用, 找到了一种全集的解决办法: unicode, 这个符号集规定了符号的二进制代码, 但是没有指定如何存储。
比方说的二进制代码是100111000100101a01000001
这种长度不定,一是计算机无法分割出具体的字符,而是若是统一成固定的字节长度,会造成内存极大的浪费。

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

  1. 取3个字符为一组, 重新生成为6 * 4的形式
  2. 对照base64生成表转换

思考: 优缺点?
缺点: 内容变大, 放到html里面无法缓存
优点: 可打印传递, 图片资源在网页中不需要再加载额外的http请求
视频音频类资源

参考链接

阮一峰字符编码笔记

原文:大专栏  前端中常用的编码格式


标签:编码,utf,字节,字符,前端,10xxxxxx,unicode,格式,10111111
来源: https://www.cnblogs.com/wangziqiang123/p/11618399.html