字符编码 UTF-8 学习笔记
UTF-8
- UTF-8 是 Unicode标准中的一种 , 还有 UTF-16 , UTF-32
- UTF-8 的长度可变, 例如字母站一字节,汉字占三字节
- UTF-8 分为带BOM开头的 , 和不带BOM开头的, 两种
BOM占用开头三字节, 分别是 : 0xef , 0xbb , 0xbf - UTF-8 不需要BOM就能识别, 它有明显的特点
UTF-8 编码的特点, 可以用来识别文件格式是否为 UTF-8
百度百科说UTF-8最大支持4字节,
- 一个US-ASCIl字符只需1字节编码(Unicode范围由U+0000~U+007F)。
- 带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文等字母则需要2字节编码(Unicode范围由U+0080~U+07FF)。
- 其他语言的字符(包括中日韩文字、东南亚文字、中东文字等)包含了大部分常用字,使用3字节编码。
- 其他极少使用的语言字符使用4字节编码。
但看其特点, 支持6字节也是可以的
- 一字节 0xxxxxxx
- 二字节 110xxxxx 10xxxxxx
- 三字节 1110xxxx 10xxxxxx 10xxxxxx
- 四字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
- 五字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
- 六字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
一字节时和ascii , iso8859-1 , gbk 是一样的, 不能用来判断
二字节开始的规律
一个字节二进制有几个1开头, 后面就有几减一个10开头的字节
五字节和六字节不是Unicode编码范围, 2003年RFC3629规定Utf-8只能使用原Unicode规定的区域(小于等于四字节)
JAVA 的 UTF-8 相关
Java 的 sun.nio.cs.UTF_8 类中有一段注释 , 也可以参考
/* Legal UTF-8 Byte Sequences** # Code Points Bits Bit/Byte pattern* 1 7 0xxxxxxx* U+0000..U+007F 00..7F** 2 11 110xxxxx 10xxxxxx* U+0080..U+07FF C2..DF 80..BF** 3 16 1110xxxx 10xxxxxx 10xxxxxx* U+0800..U+0FFF E0 A0..BF 80..BF* U+1000..U+FFFF E1..EF 80..BF 80..BF** 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx* U+10000..U+3FFFF F0 90..BF 80..BF 80..BF* U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF* U+100000..U10FFFF F4 80..8F 80..BF 80..BF**/public final class UTF_8 extends Unicode {
字符编码 UTF-8 学习笔记相关推荐
- postfilter中文什么意思_Filterpost请求中文字符编码的过滤器 --学习笔记
java代码:import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;i ...
- ADPCM编码与解码学习笔记·
ADPCM编码与解码学习笔记 一.前言 之前许多次说过,有空的时候写写博客,可是一直没有好好落实.由于工作的原因,经常会接触到一些音视频的编解码技术,而ADPCM就是我第一接触的音频编码技术.所以,本 ...
- 关于字符编码的一点学习。
这两天在家无事,看了点关于字符编码的知识,理解并不深. 一.ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出2 ...
- 视频编码帧间学习笔记(个人向初学小结)
以下链接是视频编码的浅析,原理解释的很详细(像素计算过程错了,但原理没错),小白必看. 视频编码技术详解_tiankong19999的博客-CSDN博客_视频编码1.引言 如今我们所处的时代,是移动互 ...
- 返回txt格式的文本使用编码 js_Node.js学习笔记第一天
01-导入node模块使用流程 // node.js中将不同功能的代码放在不同的js文件中,也叫模块化,核心模块会随着安装node.js时一并安装// 1. 导包 (本质就是得到一个全局对象,存储很多 ...
- 指数哥伦布编码 java_H.264学习笔记6——指数哥伦布编码
一.哥伦布码 哥伦布码就是将编码对象分能成等间隔的若干区间(Group),每个Group有一个索引值:Group Id. >对于Group Id采用二元码编码: >对于Group内的编码对 ...
- linux内核字符驱动设备,Linux学习笔记——linux内核字符设备驱动-Go语言中文社区...
尝试在树莓派安装的raspbian系统上进行linux字符设备驱动 1.更新安装kernel header源码 sudo apt-get update sudo apt-get install ras ...
- transformer引入位置信息--Sinusoidal位置编码《个人学习笔记》
transformer引入位置信息--Sinusoidal位置编码 为什么transformer需要位置编码 Sinusoidal绝对位置编码 首先,所有技术都是个人理解,并感谢技术各位分享,由此根据 ...
- VBA Instr()函数 返回搜索到的字符位置 - VBA函数学习笔记(三)
Instr函数是十分实用的,它可以查询某个字符串在另一个字符串中是否出现,并且返回该查询字符串最先出现的索引位置.Instr函数常常与Mid函数一起使用,会有非常好用的效果.不过Instr函数并非Ex ...
- 每天学习一点点之字符编码
技术的发展就是在不停的解决问题和引入新的问题. 说来惭愧,对字符编码一直都是似懂非懂的,昨天组内大佬又给讲了一遍.本文就是作为一个初学者对字符编码的一个学习笔记. 在步入正题之前首先明确这么几点: 计 ...
最新文章
- 数据蒋堂 | JOIN运算剖析
- 关于angular的$resource中的isArray属性问题
- wxWidgets:wxUpdateUIEvent类用法
- excel表头_如何用Excel制作出库入库表
- mockjs(接口服务代理)
- 幼儿课外活动游戏_泰国清迈大小学校介绍 --【Little Star小星星幼儿园】
- 多播泡妞宝典---IGMP
- OpenCV_(Using GrabCut extract the foreground object) 使用 GrabCut 算法提取前景物体
- 数据驱动下的客群经营逻辑
- 深入了解KNN算法原理
- 视频物体检测(VID) FGFA:Flow-Guided Feature Aggregation for Video Object Detection
- 逃逸分析和标量替换技术,你明白了吗
- 史玉柱和郭广昌谈创业团队管理:两种类型的“孔雀王”
- Idea使用Alibaba Cloud Toolkit
- 美图秀秀网页版新功能上线 新增磨皮祛痘
- java 邮件中文标题显示问号?
- K-T条件的学习拉格朗日函数
- HTML+CSS-项目:学成在线
- 动态规划2---例9.2数字金字塔
- 视频教程-Cesium入门-JavaScript
热门文章
- java获取时间整点工具代码
- 苹果备忘录分享不了微信提示无法连接服务器,关于微信分享后,提示“未验证应用”的解决办法(iOS)...
- 基金专户、信托专户、券商集合
- JAVA综合练习-迷你DVD管理器
- 字符串的截取substr
- Ubuntu12.04歌词显示osd-lyrics
- eNSP软件报错问题:打开AR路由器和USG6000V防火墙一直刷#号
- XMind ? 有道云笔记?为什么我会选择 Effie
- 申万宏源:破发股票投资机会研究
- 怎样使用css让矩形出现圆角,CSS中设置元素的圆角矩形