UTF-8 转换
来源:互联网 发布:知乎豆瓣天涯果壳 编辑:程序博客网 时间:2024/05/01 12:33
答案:23 =11+4*3.
软:x8F6F; 10001111 01101111
件:x4EF6; 1001110 11110110
开:x5F00; 1011111 00000000
发:x53D1; 1010011 11010001
预知详细,请往下看:
在网络中有很多地方都有采用UTF8编码,由于要编写与邮件服务端有关的程序,而邮件服务端有些地方用到了UTF8编码,所以对它有了初步的认识!
它其实和Unicode是同类,就是在编码方式上不同!
首先UTF8编码后的大小是不一定,不像Unicode编码后的大小是一样的!
我们先来看Unicode的编码:一个英文字母 “a” 和 一个汉字 “好”,编码后都是占用的空间大小是一样的,都是两个字节!
而UTF8编码:一个英文字母“a” 和 一个汉字 “好”,编码后占用的空间大小就不样了,前者是一个字节,后者是三个字节!
现在就让我们来看看UTF8编码的原理吧:
因为一个字母还有一些键盘上的符号加起来只用二进制七位就可以表示出来,而一个字节就是八位,所以UTF8就用一个字节来表式字母和一些键盘上的符号。然而当我们拿到被编码后的一个字节后怎么知道它的组成?它有可能是英文字母的一个字节,也有可能是汉字的三个字节中的一个字节!所以,UTF8是有标志位的!
当要表示的内容是 7位 的时候就用一个字节:0******* 第一个0为标志位,剩下的空间正好可以表示ASCII 0-127 的内容。
当要表示的内容在 8 到 11 位的时候就用两个字节:110***** 10****** 第一个字节的110和第二个字节的10为标志位。
当要表示的内容在 12 到 16 位的时候就用三个字节:1110***** 10****** 10****** 和上面一样,第一个字节的1110和第二、三个字节的10都是标志位,剩下的空间正好可以表示汉字。
以此类推:
四个字节:11110**** 10****** 10****** 10******
五个字节:111110*** 10****** 10****** 10****** 10******
六个字节:1111110** 10****** 10****** 10****** 10****** 10******
.............................................
..............................................
明白了没有?
编码的方法是从低位到高位
现在就让我们来看看实例吧!
黄色为标志位
其它着色为了显示其,编码后的位置
Unicode十六进制
Unicode二进制
UTF8二进制
UTF8十六进制
UTF8字节数
B
00001011
00001010
B
1
9D
00010011101
1100001010011101
C2 9D
2
A89E
1010100010011110
11101010 1010001010011110
EA A2 9E
3
一般在UTF8中,ASCII字符集用1Byte长度来表示,即上表中的第1行;西欧字符集用2Byte长度来表示,即上表中的第2行;ASCII字符集用3Byte长度来表示,即上表中的第3行;
- UTF-8转换GB2312
- utf-8 & gb 转换
- 转换UTF-8函数
- UTF-8 转换工具
- utf-8乱码转换
- UTF-8 转换
- GB2312 <-> UTF-8 转换
- UTF-8编码转换
- utf-8字符转换
- utf-8及转换
- UTF-8、UTF-16、UTF-32之间的编码转换
- UTF-8、UTF-16、UTF-32编码的相互转换
- UTF-8、UTF-16、UTF-32编码的相互转换
- ASP汉字转换UTF-8以及UTF-8转换GB2312
- ASP汉字转换UTF-8及UTF-8转换GB2312
- gb2312 utf-8 相互转换
- UTF-8编码的转换
- UTF-8转换GB2312函数
- handle模板三 - 服务管理工具类
- Microsoft100——12.求和
- JVM内存的设置(解决eclipse下out of memory问题)
- 网页扩展名由html改为shtml 301永久重定向伪静态方法
- logfile switch causes incremental checkpoint?
- UTF-8 转换
- 判断字符串里是否有值
- 求解不定方程
- handle模板一 - 类型定义
- FusionCharts 2D饼图
- Javascript编程 "红灯区域"
- 03-Linux-Bash命令基本操作
- 关于OAuth协议
- Java学习——制作窗口