微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql – SQL如何确定varchar中的字符长度?

阅读完文档后,我了解到变量字符有一个字节或两个字节的长度前缀,以确定其长度.我也理解,对于varchar,每个字符的字节长度可能不同,具体取决于字符本身.

所以我的问题是:

DBMS如何在存储后确定每个字符的长度?

含义:存储一个字符串后,假设它长4个字符,假设第一个字符长1个字节,第二个2字节,第3个字节和第4个字符是4.
数据库如何知道检索字符串时每个字符的长度以便正确读取它?

我希望这个问题很明确,对于我犯的任何英语错误感到抱歉.谢谢

解决方法:

UTF-8作为可变长度编码的方式是1字节字符只能使用该字节的7位.

如果高位为0,则该字节为1字节字符(恰好以与128个ASCII字符相同的方式编码).

如果高位为1,则它是一个多字节字符.

enter image description here

图片来自https://en.wikipedia.org/wiki/UTF-8

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐