Здравствуйте. Как узнать заранее, сколько будет весить файл с расширением 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
