这个工具的作用
文本大小使用 UTF-8 编码(网络和大多数现代系统的标准)准确计算文本占用的空间(以字节、千字节和字符为单位)。当限制以字节而不是字符来衡量时,它就是您需要的工具,这比人们预期的更常见。
为什么字节与字符不同
在 UTF-8 中,并非每个字符都是一个字节。纯英文字母和数字各占一个字节,因此对于简单文本,字节数与字符数相匹配。但重音字母占用两个字节,许多符号和非拉丁字符占用两个或三个字节,表情符号可以占用四个字节。这意味着 100 个字符的字符串可能远远超过 100 个字节。当系统测量字节限制时,计算字符会误导您,该工具显示真实的字节大小。
当字节大小很重要时
数据库字段通常定义有字节限制,因此适合字符的值仍然可能因超出字节上限而被拒绝。一些 API 和协议以字节为单位测量有效负载。 SMS 消息、文件大小预算和某些表单字段都关心字节。开发人员检查值是否适合列,或者有效负载是否低于大小限制,需要字节数,而不是字符数。
读取结果
该工具会显示在您键入时更新的三个数字:UTF-8 下的总字节数、较大文本的等效字节数(以千字节为单位)以及用于比较的纯字符数。当字节数和字符数不一致时,该差距就是文本的非 ASCII 内容、重音符号、符号和表情符号,每个内容都占用多个字节。一切都在您的浏览器中计算,因此即使是敏感文本也会保留在您的设备上。
字符与字节
字符和字节并不总是相同的东西。在纯 ASCII 中,一个字符是一个字节,但在 UTF-8(网络标准编码)中,重音字母、表情符号和非拉丁字符分别占用两个、三个或四个字节。该工具可测量:字符数和 UTF-8 下的真实字节大小。每当限制以字节而不是字符定义时,差异就很重要,这比大多数人预期的更常见。
为什么字节大小很重要
数据库字段的大小通常以字节为单位,因此如果文本包含多字节字符,则可以通过比预期更少的字符达到 VARCHAR 限制。网络负载、消息大小限制和存储配额以字节为单位。某些 API 按字节大小限制请求正文。如果您曾经遇到过因字符数看起来正常而“太长”的文本被拒绝的情况,那么多字节字符和基于字节的限制可能就是原因。预先测量字节大小可以避免这种意外。
UTF-8 和多字节字符
UTF-8 将基本拉丁字母和数字分别编码在一个字节中,因此纯英语文本具有相同的字符和字节数。但“é”是两个字节,许多亚洲字符是三个字节,而表情符号通常是四个字节。因此,100 个字符的字符串可以是 100 到 400 字节之间的任意位置,具体取决于其内容。该工具同时显示确切的字节大小、千字节大小和字符数,因此您可以准确地查看文本如何针对任何限制进行衡量,无论是以字符还是字节为单位定义。