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字节,

  1. 一个US-ASCIl字符只需1字节编码(Unicode范围由U+0000~U+007F)。
  2. 带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文等字母则需要2字节编码(Unicode范围由U+0080~U+07FF)。
  3. 其他语言的字符(包括中日韩文字、东南亚文字、中东文字等)包含了大部分常用字,使用3字节编码。
  4. 其他极少使用的语言字符使用4字节编码。

但看其特点, 支持6字节也是可以的

  1. 一字节 0xxxxxxx
  2. 二字节 110xxxxx 10xxxxxx
  3. 三字节 1110xxxx 10xxxxxx 10xxxxxx
  4. 四字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  5. 五字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  6. 六字节 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 学习笔记相关推荐

  1. postfilter中文什么意思_Filterpost请求中文字符编码的过滤器 --学习笔记

    java代码:import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;i ...

  2. ADPCM编码与解码学习笔记·

    ADPCM编码与解码学习笔记 一.前言 之前许多次说过,有空的时候写写博客,可是一直没有好好落实.由于工作的原因,经常会接触到一些音视频的编解码技术,而ADPCM就是我第一接触的音频编码技术.所以,本 ...

  3. 关于字符编码的一点学习。

    这两天在家无事,看了点关于字符编码的知识,理解并不深. 一.ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出2 ...

  4. 视频编码帧间学习笔记(个人向初学小结)

    以下链接是视频编码的浅析,原理解释的很详细(像素计算过程错了,但原理没错),小白必看. 视频编码技术详解_tiankong19999的博客-CSDN博客_视频编码1.引言 如今我们所处的时代,是移动互 ...

  5. 返回txt格式的文本使用编码 js_Node.js学习笔记第一天

    01-导入node模块使用流程 // node.js中将不同功能的代码放在不同的js文件中,也叫模块化,核心模块会随着安装node.js时一并安装// 1. 导包 (本质就是得到一个全局对象,存储很多 ...

  6. 指数哥伦布编码 java_H.264学习笔记6——指数哥伦布编码

    一.哥伦布码 哥伦布码就是将编码对象分能成等间隔的若干区间(Group),每个Group有一个索引值:Group Id. >对于Group Id采用二元码编码: >对于Group内的编码对 ...

  7. linux内核字符驱动设备,Linux学习笔记——linux内核字符设备驱动-Go语言中文社区...

    尝试在树莓派安装的raspbian系统上进行linux字符设备驱动 1.更新安装kernel header源码 sudo apt-get update sudo apt-get install ras ...

  8. transformer引入位置信息--Sinusoidal位置编码《个人学习笔记》

    transformer引入位置信息--Sinusoidal位置编码 为什么transformer需要位置编码 Sinusoidal绝对位置编码 首先,所有技术都是个人理解,并感谢技术各位分享,由此根据 ...

  9. VBA Instr()函数 返回搜索到的字符位置 - VBA函数学习笔记(三)

    Instr函数是十分实用的,它可以查询某个字符串在另一个字符串中是否出现,并且返回该查询字符串最先出现的索引位置.Instr函数常常与Mid函数一起使用,会有非常好用的效果.不过Instr函数并非Ex ...

  10. 每天学习一点点之字符编码

    技术的发展就是在不停的解决问题和引入新的问题. 说来惭愧,对字符编码一直都是似懂非懂的,昨天组内大佬又给讲了一遍.本文就是作为一个初学者对字符编码的一个学习笔记. 在步入正题之前首先明确这么几点: 计 ...

最新文章

  1. 数据蒋堂 | JOIN运算剖析
  2. 关于angular的$resource中的isArray属性问题
  3. wxWidgets:wxUpdateUIEvent类用法
  4. excel表头_如何用Excel制作出库入库表
  5. mockjs(接口服务代理)
  6. 幼儿课外活动游戏_泰国清迈大小学校介绍 --【Little Star小星星幼儿园】
  7. 多播泡妞宝典---IGMP
  8. OpenCV_(Using GrabCut extract the foreground object) 使用 GrabCut 算法提取前景物体
  9. 数据驱动下的客群经营逻辑
  10. 深入了解KNN算法原理
  11. 视频物体检测(VID) FGFA:Flow-Guided Feature Aggregation for Video Object Detection
  12. 逃逸分析和标量替换技术,你明白了吗
  13. 史玉柱和郭广昌谈创业团队管理:两种类型的“孔雀王”
  14. Idea使用Alibaba Cloud Toolkit
  15. 美图秀秀网页版新功能上线 新增磨皮祛痘
  16. java 邮件中文标题显示问号?
  17. K-T条件的学习拉格朗日函数
  18. HTML+CSS-项目:学成在线
  19. 动态规划2---例9.2数字金字塔
  20. 视频教程-Cesium入门-JavaScript

热门文章

  1. java获取时间整点工具代码
  2. 苹果备忘录分享不了微信提示无法连接服务器,关于微信分享后,提示“未验证应用”的解决办法(iOS)...
  3. 基金专户、信托专户、券商集合
  4. JAVA综合练习-迷你DVD管理器
  5. 字符串的截取substr
  6. Ubuntu12.04歌词显示osd-lyrics
  7. eNSP软件报错问题:打开AR路由器和USG6000V防火墙一直刷#号
  8. XMind ? 有道云笔记?为什么我会选择 Effie
  9. 申万宏源:破发股票投资机会研究
  10. 怎样使用css让矩形出现圆角,CSS中设置元素的圆角矩形