Что делает этот инструмент
Размер текста точно рассчитывает, сколько места занимает ваш текст в байтах, килобайтах и символах, используя кодировку 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 байт в зависимости от ее содержимого. Этот инструмент показывает точный размер в байтах, размер в килобайтах и количество символов вместе, поэтому вы можете точно увидеть, насколько ваш текст соответствует любому пределу, независимо от того, определен ли он в символах или байтах.