Некоторые символы занимают больше байтов, чем другие?
=====================================================

Я не очень разбираюсь в вещах более низкого уровня, таких как количество байтов, которые есть у персонажа. Я попытался выяснить, равен ли один символ одному байту, но безуспешно.

Мне нужно установить разделитель, используемый для сокетных соединений между сервером и клиентами. Этот ограничитель должен быть как можно меньше (в байтах), чтобы минимизировать пропускную способность.

Текущий разделитель - "#". Может ли получение другого разделителя уменьшить мою пропускную способность?

 какую кодировку символов вы используете для перевода между символами и байтами (что совсем не одно и то же):

In ASCII or ISO 8859, each character is represented by one byte
In UTF-32, each character is represented by 4 bytes
In UTF-8, each character uses between 1 and 4 bytes
In ISO 2022, it's much more complicated

Символы US-ASCII (из которых # равно одному) будут занимать только 1 байт в UTF-8, который является наиболее популярной кодировкой, которая допускает многобайтовые символы.



 все символы имеют длину 1 байт, если только вы не используете Unicode или широкие символы (например, для акцентов и других символов).

Длина символа составляет 1 байт или 8 битов, что дает 256 возможных комбинаций для формирования символов. 1-байтовые символы называются символами ASCII. Они используют только 7 битов (хотя 8 доступны, но вы не можете использовать этот 8-й бит) для формирования стандартного алфавита и различных символов, используемых, когда телетайпы и пишущие машинки все еще были распространены.

Вы можете найти таблицу ASCII и какие цифры соответствуют каким символам[Вот.](http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/images/ASCII1.GIF)



 конечно, в том, что это зависит. Если вы используете чистый ASCII-env, то да, каждый символ занимает 1 байт, но если вы используете enic-код enic (например, для всех Windows), то размер символов может варьироваться от 1 до 4 байт.

Если вы выберете символ из набора ASCII, тогда ваш разделитель будет как можно меньше.



 таких как ANSI и различных наборах символов ISO8859, это один байт на символ. Некоторые кодировки, такие как UTF8, имеют переменную ширину, где количество байтов для кодирования символа зависит от кодируемого глифа.