Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос для знающих

Анастасия Знаток (344), на голосовании 14 лет назад
Почему при переходе из кодирования текста в системе ansi в unicode размер файла не просто увеличивается, а добавляютеся еще ДВА байта информаци????
Дополнен 14 лет назад
Кошка скончалась.
Мех уже не тот на хвосте.
Помалкивай и отведай.
(68 байт (544 бит) )
ANSI: 70 байт (560 бит)
UNICODE: 142 байта (1136 бит)
Голосование за лучший ответ
Денис Акимкин Просветленный (20459) 14 лет назад
Это заголовок, показывающий, что текстовый файл закодирован в Unicode.
velik velik Профи (995) 14 лет назад
Можт конец файла как-то отмечается байтами, а может заголовок.
ЭГОИСТ.да Мастер (1012) 14 лет назад
сигнатура.. .
многие текстовые редакторы понимают её
Георгий Рисков Мастер (1895) 14 лет назад
Вообще говоря, пробелы и точки в UTF-8 занимают ровно столько же места, сколько и в ansi... Тут у Вас текстовый редактор что-то своё добавляет, потому что у меня размер файлов значительно меньше (система Linux):

$ cat temp.utf8
Кошка скончалась.
Мех уже не тот на хвосте.
Помалкивай и отведай.

$ cat temp.utf8 | iconv -t cp1251 > temp.cp1251

temp.utf8: UTF-8 Unicode text - 66 bytes
temp.cp1251: ISO-8859 text - 118 bytes

... то есть размер юникод файла даже не в 2 раза больше.. .
в тексте 8 пробелов, 3 точки и 2 переноса строк - всего 13 символов.. .
66 * 2 - 13 = 118
как-то так
Похожие вопросы