Unicode与UTF-8
来源:互联网 发布:用sql语句查询年龄在 编辑:程序博客网 时间:2024/06/05 14:43
Unicode与UTF-8的关系
Unicode是字符集,是一张大表,给每个字符指定一个数字。但是计算机只认0和1,这个数字怎么在计算机中存储呢?用多少位?这就是UTF-8的事了。看了下面这张图,也许就明白了
UTF-8
UTF-8是一种变长的编码方式,它把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
UTF-8编码规则如下:
单字节的字符,字节的第一位设为0,对于英语文本,UTF-8码只占用一个字节,和ASCII码完全相同;
n个字节的字符(n>1),第一个字节的前n位设为1,第n+1位设为0,后面字节的前两位都设为10,这n个字节的其余空位填充该字符unicode码,高位用0补足。
举粟
一个字节:0xxxxxxx
两个字节:110xxxxx 10xxxxxx
三个字节:1110xxxx 10xxxxxx 10xxxxxx
四个字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Java与UTF-16
Unicode开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节,也就是16位来统一表示所有的字符。
Java的char类型就是UTF-16编码,还记得char类型占2个字节吗?
0 0
- Unicode 与 UTF-8
- utf-8与unicode
- utf-8 与unicode
- Unicode与UTF-8
- Unicode 与 UTF-8
- Unicode与UTF-8
- UTF-8 与 unicode
- utf-8与Unicode
- Unicode与UTF-8
- unicode与utf-8
- Unicode与UTF-8
- unicode 与 utf-8
- unicode与utf-8
- Unicode 与 UTF-8
- UTF-8 与 Unicode
- 关于Unicode, UTF-8与UTF-16
- Unicode与UTF-8/UTF-16
- Unicode与UTF-8学习
- Java的接口和抽象类详解
- 寻找最快的Java可随机访问排序列表
- C代码常见问题
- OpenGL Frame BufferObject(FBO)
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- Unicode与UTF-8
- Ubuntu 15.04 + CUDA7.5 + Caffe 配置笔记
- osgi项目错误合集
- 进程通信方法之一--管道(的容量与实现)
- async await关键字后面的处理
- 如何使用android studio进行多渠道的打包?
- Bootstrap学习心得
- 【阅读】《黑客与画家》系列01-可测量性与可放大性
- java环境变量的配置