Перейти к содержимому

Сколько весит 1 символ в txt

  • автор:

Здравствуйте. Как узнать заранее, сколько будет весить файл с расширением doc, если знать что в нем написано?

никак.. . кроме символов в таком файле имеется служебная информация о форматировании и скрипты-обработчики.

Остальные ответы
один символ=1 байт
1 символ весит 1 байт

«если документ в кодировке UTF-8, то разные символы могут занимать разное количество байт. Китайский символ может быть размера 4 байта. А латинский — 1 байт.

Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байтов (реально только до 4 байт, поскольку использование кодов больше 221 не планируется) «

Файл в котором 37000 знаков весит 213КБ.
Статистика
Office 2007. В строке меню щёлкнуть «Рецензирование» . Во вкладке «Правописание» щёлкнуть по значку «Статистики» . В появившемся окне «Статистики» дана вся информация о количестве знаков, слов, строк, абзацев и страниц в данном файле.

Как посчитать количество символов в тексте?

Пробовал 2 варианта, через размер файла(fseek), и через цикл while(fgetc(file) != EOF. С файлом с английскими словами возвращает все правильно. С русскими же в 2 раза больше. Можно ли как нибудь сделать, чтобы независимо от языка он возвращал верное кол во символов?

Отслеживать
задан 31 мая 2020 в 7:56
Ярослав Захаров Ярослав Захаров
81 1 1 серебряный знак 9 9 бронзовых знаков
А текст в какой кодировке?
31 мая 2020 в 8:01

Я так понял русские символы это UNICODE? Создаю обычный *.txt. Посмотрел сколько весит один английский символ — 1 байт. Русский символ же весит — 2 байта в моей программе

31 мая 2020 в 8:15

Все ответ ниже с wchar помог. Странно что один компилятор не хотел считать символы, а другой посчитал их

31 мая 2020 в 9:42

Ваш текстовый файл может быть в UTF-8 (скорее всего) или в ANSI-1251 или в UTF-16 или в ещё какой экзотической кодировке. И в зависимости от того, какая используется кодировка в файле, один символ будет занимать то или иное количество байт. Причём, в зависимости от символа и кодировки, число байт занимаемых этим символом может отличаться от числа байт, занимаемых другим символом в этой же кодировки (кодировка с переменным числом байт на символ). Соответственно, и считать символы можно только зная кодировку текста.

31 мая 2020 в 10:01

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Читайте UTF-8 символы с помощью fgetwc . Работает только с указанной локалью.

NAME fgetwc, getwc - read a wide character from a FILE stream SYNOPSIS #include #include wint_t fgetwc(FILE *stream); wint_t getwc(FILE *stream); DESCRIPTION The fgetwc() function is the wide-character equivalent of the fgetc(3) function. It reads a wide character from stream and returns it. If the end of stream is reached, or if ferror(stream) becomes true, it returns WEOF. If a wide-character conversion error occurs, it sets errno to EILSEQ and returns WEOF. 
#include #include #include #include int main() < setlocale(LC_ALL,""); FILE * const f = fopen("test","r"); do< errno=0; wint_t const wc = fgetwc(f); if (wc == WEOF) < if(errno) printf("error\n"); else printf("eof\n"); break;>printf("wc=%d\n",wc); > while (1); fclose(f); > 

Определить объём текста

Онлайн калькулятор легко и непринужденно вычислит объем текста в битах, байтах и килобайтах. Для перевода в другие единицы измерения данных воспользуйтесь онлайн конвертером.

Информационный вес (объем) символа текста определяется для следующих кодировок:
Unicode UTF-8
Unicode UTF-16
ASCII, ANSI, Windows-1251

Почему на windows сохраняя текст блокноте перенос строки занимает — 4 байта в юникоде или 2 байта в анси?
Это историческое явление, которое берёт начало с дос, последовательность OD OA (\n\r ) в виндовс используются чтоб был единообразный вывод на терминал независимо консоль это или принтер. Но для вывода просто на консоль достаточно только \n.

В юникоде есть символы которые весят 4 байта, например эмоджи: ��

Пожалуйста напишите с чем связна такая низкая оценка:

Сколько весят файлы разных типов как узнать?

Вот создал я xml файл, как узнать сколько он будет весить, или в assets папке я создал какие-то файлы нестандартных форматов, как я могу узнать, сколько они будут весить? Я создаю фрагменты и при запуске эмулятора в device file manager вес нигде не увеличивается, так же если в манифесте добавляю какие-то строки, в device file manager файл манифеста вес не увеличивает.

  • Вопрос задан более двух лет назад
  • 219 просмотров

Комментировать

Решения вопроса 1

Java, Kotlin, Android Developer

Открыть apk в студии через Build/Analyze APK и посмотреть

Ответ написан более двух лет назад

Нравится 1 3 комментария

foonfyrick @foonfyrick Автор вопроса

А я читал то что xml тяжелый формат, а сейчас сравниваю файлы txt, xml, json, они все одинаково весят 1 символ — 1 байт, а почему тогда самый предпочитаемый формат для передачи данных является json?

1 символ — 1 байт

Вот это открытие. На нобелевку тянет.
Всё просто — xml намного более многословен.

Денис Загаевский @zagayevskiy Куратор тега Android

foonfyrick, явно не из-за веса. Хочешь сэкономить — смотри на protobuf и аналоги.

Ответы на вопрос 2

Vlatqa

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *