首页 > 其他分享 >UTF8 最初设计编码最长时 6 字节

UTF8 最初设计编码最长时 6 字节

时间:2023-01-26 13:11:06浏览次数:47  
标签:编码 utf8 UTF 字节 UTF8 MySQL 最长

UTF8 最初设计编码最长时 6 字节。2002 年 MySQL 觉得 3 字节就足够了,于是写死 UTF8 最长 3 字节存储。2003 年的 UTF8 新标准,规定最长是 4 字节编码。但没有问题,毕竟 4 字节的 UTF8 字符还没有出现。

UTF-16有大小端的问题(UTF-16LE,UTF-16BE),烦得要死。然后为了这个问题发明了一个BOM,成功地在解决1个问题的同时又引入了10个新问题。最初固定 3 字节,以后可能不够用。4 字节的 UTF-32 考虑了对齐,并留有扩展余地。

再后来智能手机出现,推动 Unicode 标准添加了大量的 Emoji 符号,3 字节就不够用了。MySQL 为了存储这些 Emoji 符号(和一些偏僻字符),但又不能打破兼容,只能再弄出了个 utf8mb4(最长 4 字节存储)。MySQL 中的 utf8 并非正确的 utf8,utf8mb4 才是正确的 utf8。这样就很尴尬了。

标签:编码,utf8,UTF,字节,UTF8,MySQL,最长
From: https://www.cnblogs.com/dituirenwu/p/17067727.html

相关文章

  • 【FPGA】Verilog 编码实现:与非门 | 或非门 | 异或门 | NAND/NOR/XOR 行为验证
    写在前面:本章主要内容为了解和确认NAND/NOR/XOR门的行为,并使用Verilog实现,生成输入信号后通过模拟,验证每个门的操作,并使用FPGA来验证Verilog实现的电路的行为。本章目......
  • 单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,M
    1.算法描述        频域均衡是从校正系统的频率特性出发,利用一个可调滤波器的频率的频率特性去补偿信道或系统的频率特性,使包括可调滤波器在内的基带系统的总特性......
  • 实现中文UTF8的过滤器
    1.过滤器代码:packagecom.yin;importjavax.servlet.*;importjava.io.IOException;publicclassfilterimplementsFilter{publicvoidinit(FilterConfig......
  • 一个C#将字节流通过管道传输到C++的问题
    提问: 提问一个C#将字节流通过管道传输到C++的问题现有一个字节流数据需要通过管道传输到C++,目前使用的方法是转成string通过WriteLine写入管道中,在C++中通过ReadFile读取......
  • python编码
    str类型字符串  byte类型字符串1、两者互相转换通过 str类型通过encode转换成bytes类型bytes类型通过decode转换成str类型2、两者以一种编码方式进行......
  • 浅谈Redis基本数据类型底层编码(含C源码)
    文章目录​​一、String​​​​1、int​​​​2、embstr​​​​3、raw​​​​4、bitmap​​​​5、hyperloglog​​​​二、List​​​​1、ziplist​​​​2、quicklist......
  • python基础: 垃圾回收机制、字符编码、文件操作
    目录垃圾回收机制引用计数标记清除分代回收字符编码简介发展史字符编码的实操文件操作垃圾回收机制说明:我们在编写代码的时候涉及到存储空间的申请和存储空间的释放的操......
  • 位,字节,字, 二进制,八进制,十进制,十六进制简单梳理
    定义:位(bit):也叫比特,计算机中最小的计量单位;1比特也即1个二进制位字节(Byte):1个字节=8比特(位bit)=8个二进制位=2个16进制位字(word):UTF-8下一个汉字由三个字节组成;其......
  • 字符编码
    字符编码1.字符编码简介字符编码只针对文本文件计算机内部存储数据的本质是二进制也就是计算机只认识0和1我们打出来的字能被计算机识别是因为中间有一层转换关系>>......
  • 字符编码
    python解释器与文件本编辑的异同如下#1、相同点:前两个阶段二者完全一致,都是将硬盘中文件的内容读入内存,详解如下python解释器是解释执行文件内容的,因而python解释器具备......