Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   cp1251 VS utf-8 (https://forum.antichat.xyz/showthread.php?t=90658)

.:EnoT:. 06.11.2008 13:48

cp1251 VS utf-8
 
Собственно хотелось бы с вами пообсуждать кто какую кодировку предпочитает и кто какие плюсы и минусы видит в них обеих. Просто лазия по инету вижу совершенно противоположные мнения по этому поводу...

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

Ну так вот, хотелось бы узнать кто считает что русский текст должен быть в ср1251, а кто считает что юникод кодировка будущего))

Просьба без флуда и обосновывать свои выводы :)

Pernat1y 06.11.2008 13:56

юникод, оф корз )
собственно из-за нормальной поддержки языков

DDoSька 06.11.2008 13:58

Юзаю cp1251 - привычка...

InfernoNet 06.11.2008 14:03

UTF-8 из-за юниксов.
Хотя у себя на компе предпочитаю cp1251 т.к. из под винды.
Но проголосовал за UTF-8

Jer1cho 06.11.2008 14:06

http://habrahabr.ru/blogs/webdev/38026/

— Очень хорошая статья.

swt1 06.11.2008 14:35

1251 имхо,но и utf-8 имеет и будет иметь всегда будущее.

GreenBear 06.11.2008 14:54

а какие минусы у утф8, кроме ее плюсов?

UnPazz 06.11.2008 15:01

проголосовал за UTF-8.
UTF-8 удобно любой движок с других языков переводить на русский. не нужно БД движка перекодировывать.

-=lebed=- 06.11.2008 15:06

Цитата:

Сообщение от GreenBear
а какие минусы у утф8, кроме ее плюсов?

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

Наглядный пример: отправка SMS. В кириллице вы отправите сообщение длинной в два раза меньше чем в латинице, так что выгоднее писать транслитом (что я всегда и делаю, иначе SMS-ка разобьётся на 2 части и придётся платить за 2 SMS). Наглядный пример того как юникод UTF8 бьёт по карману (была бы CP1251 - разницы бы не было в чём я пишу SMS в латинице или в кирилице).

mff 06.11.2008 15:07

причем в 2 раза

GreenBear 06.11.2008 15:16

и вам ее жалко? у вас на серверах по 256 мб и диски на 2 гига?

-=lebed=- 06.11.2008 15:24

Цитата:

Сообщение от GreenBear
и вам ее жалко? у вас на серверах по 256 мб и диски на 2 гига?

см. пост выше, отредактил, как это выливается в "реальные" деньги... ;)

GreenBear 06.11.2008 15:31

да не бьет она по карману, это пересчет копеек. пример с смс вообще не в тему.

D9D9_VAD9 06.11.2008 15:47

Не вижу смысла юзать utf-8 на русскоязычных сайтах. так что за cp1251

++Norton++ 06.11.2008 15:47

Проголосовал за utf-8. Т.к. сам сижу из под никсов, и как правильно написал UnPazz не нужно БД перекодировать.

GreenBear 06.11.2008 15:49

Цитата:

Сообщение от D9D9_VAD9
Не вижу смысла юзать utf-8 на русскоязычных сайтах. так что за cp1251

тут линку на статью дали на хабре, прочитай ее и увидь смысл :)

-=lebed=- 06.11.2008 16:04

Цитата:

Сообщение от GreenBear
да не бьет она по карману, это пересчет копеек. пример с смс вообще не в тему.

В расчёте на индивидума да, но если я дам объяву на билиннге: "отправте сообщение БлаБлаБлаБла" (70+1 знаков) на короткий номер XXXX я заработаю в 2 раза больше чем если бы дал отправьте сообщение BlaBlaBla (70+1 знак) то я могу заработать (теоритически) в 2 раза больше бабла, так что пример показателен. Ты спросил чем хуже (например) я ответил. Все недостатки формата можно посмотреть в Вики. Один из главных (для меня) разная длинна для разных символов... Если использовать кирилицу вместо латиницы разница действительно подскакивает в два раза, а объём имеет значение ВЕЗДЕ! В базе, на винте, в памяти, в алгоритмах обработки строковых переменных (сортировка например и т.п.) Это пока данных мало мы не заботимся об объёме, а когда их много - приходится задумываться... Для латиницы согласен - нет никакой разницы, так как до символов с кодом 128 всё идентично...
Цитата:

Сообщение от Вики про SMS:
Текст может состоять из алфавитно-цифровых символов. Максимальный размер сообщения в стандарте GSM — 140 байт (1120 бит). Таким образом, при использовании 7-битной кодировки (латинский алфавит и цифры) можно отправлять сообщения длиной до 160 символов. При использовании 8-битной кодировки (немецкий, французский язык) можно отправлять сообщения длиной до 140 символов. Для поддержки других национальных алфавитов (китайского, арабского, русского и др.) используется 2-байтная кодировка UTF-16 (см. Unicode). Таким образом, SMS, написанное кириллицей, не может превышать 70 знаков.

- Вики
P.S. Т.е. уже одно то, что в кирилице я отправлю 1 сообщение короче чем в латинице уже не гуд!.

GreenBear 06.11.2008 16:06

это заганялово

-=lebed=- 06.11.2008 16:08

Цитата:

Сообщение от GreenBear
это заганялово

Угу, вижу аргументов больше нету... :)
P.S. Тоже самое касается передачи данных по сети по тарифам с подсчётом трафика, как известно он меряется в байтах, килобайтах, мегабайтах и т.д. Серфя сайты в юникоде ты заплатишь больше бабла чем в 1251. Тоже касается и хостинга с ограниченным траффиком - в юникоде он кончится быстрее чем в 1251, если используется кирилица...

GreenBear 06.11.2008 16:09

так я уже сказал все

Chaak 06.11.2008 16:11

Смысл гонятся за меньшим размером? У вас диски по 100 мб, скорость интернета 32 кб в секунду? С использованием UTF-8 не будет проблем с MySQL, http-запросами...

-=lebed=-, читай статью внимательнее:
Цитата:

Во-вторых, хочется оспорить то, что страницы на utf8 имеют гораздо больший размер, чем на cp1251. Символы ASCII(латиница, арабские цифры, знаки препинания и т.д.) занимают в utf8 всего один байт, так же как и в cp1251. Таким образом при создании страниц на латинице никаких увеличений в размере страниц не наблюдается. С кириллицей — согласен. Если документ содержит только буквы русского алфавита и никаких других символов (что, согласитесь, бывает достаточно редко, ибо без html-тегов не сильно обойдешься :)) — то в UTF‑8 он действительно станет в два раза больше. А если в нём, например, поровну русских и арабских букв — в UTF‑8 он будет в два раза меньше, чем, например, в cp1251. Чаще всего — основной вес страницы составляет не html-код, а всякого рода javascript, flash, картинки, css и т.д. Тем, кто заботится о «весе», следовало бы в первую очередь выкинуть из кода подстановки для тех символов, которым они не нужны, например, — для длинного тире или для неразрывного пробела (ой, как часто я вижу это в страницах новичков). Видим, что вместо 1 знака длинного тире мы пишем 6, вместо 1 знака неразрывного пробела мы пишем 5 знаков. И где же экономия? Действительно, иногда доходит до маразма — некто упирается: «Не буду делать страницы в UTF‑8, потому что они от этого увеличиваются» — а сам при этом ваяет код с жуткими атрибутами и подстановками, который без них мог бы быть в пять раз короче.

Ru}{eeZ 06.11.2008 16:14

Я за cp1251 т.к. привычнее, с utf-8 очень мало работал.

heretic1990 06.11.2008 16:17

В UTF-8 один знак занимает от одного до четырёх байт, в зависимости от языка. для русского - два, для латиницы - 1, а во всех остальных CP-1251, KOI-8r, Cyrillic Mac, DOS всего один и соответственно размер файла меньше)) я за CP-1251, да и в привычку уже вошло))

GreenBear 06.11.2008 16:18

привычка дело такое... тем более никаких сложностей перевести на утф8 нету.

-=lebed=- 06.11.2008 16:19

По мне: меньше код-удобней кодировка. С html - согласен - пример не очень удачный, вот работа с удалённой базой в UTF-8, где данные в кирилице будет ощутима разница в объёме по сравнению с латиницей.

GreenBear 06.11.2008 16:20

пиздец

heretic1990 06.11.2008 16:21

Цитата:

Смысл гонятся за меньшим размером? У вас диски по 100 мб, скорость интернета 32 кб в секунду? С использованием UTF-8 не будет проблем с MySQL, http-запросами...
что правда - то правда!!!

nerezus 06.11.2008 16:26

Цитата:

Хотя у себя на компе предпочитаю cp1251 т.к. из под винды.
Даже стандартный блокнот работает с утф8.

Цитата:

а какие минусы у утф8, кроме ее плюсов?
Никаких.
На некоторых текстах занимет больше места. Но может и меньше занимать за счет отсутствия &xxxx; в HTML.

Цитата:

см. пост выше, отредактил, как это выливается в "реальные" деньги...
Интересно посмотреть, как китайцы и т.д. пишут в cp1251. Расскажешь? )
Да и UTF16 там какой-то. UTF8 не 2хбайтовый.

Цитата:

причем в 2 раза
Ты тоже матчасть учи. UTF8 не 2хбайтовый.

Ru}{eeZ 06.11.2008 16:30

Вот маленький пример -
Сейчас идут споры, чтобы в России заменить "и" на "i", подсчитали примерно сколько бы было денег сэкономлено (печать и т.д.), так вот, вышли миллионы $... Вот и смотрим разницу между cp1251 и utf-8. И не говорите, что вес не имеет значения.

-=lebed=- 06.11.2008 16:42

Цитата:

Сообщение от nerezus
Даже стандартный блокнот работает с утф8.

Никаких.
На некоторых текстах занимет больше места. Но может и меньше занимать за счет отсутствия &xxxx; в HTML.

Интересно посмотреть, как китайцы и т.д. пишут в cp1251. Расскажешь? )
Да и UTF16 там какой-то. UTF8 не 2хбайтовый.

Ты тоже матчасть учи. UTF8 не 2хбайтовый.

2nerezus ты китаец? 1251 - национальная кодировка для России, речь шла про неё.

Кто говорил что UTF8 двухбайтовый? от 1 до 4 байт!
на кирилический символ уходит 2 байта и это верно!

Вот тебе два сообщения:
Код:

Пример текста
Код:

Пример текста
имхо тут сразу всё видно...
P.S. "Про какой-то UTF16" можно тут почитать: http://ru.wikipedia.org/wiki/UTF-16

nerezus 06.11.2008 17:28

Цитата:

1251 - национальная кодировка для России, речь шла про неё.
СМС есть не только в России.
В какой кодировке должна отправляться СМС из Украины в Россию?
Подумай над этим вопросом.
Поймешь.


Цитата:

имхо тут сразу всё видно...
Естественно. Аналогично можно привести примеры, где в cp1251 текст занимает больше. Но смысл? Общий обънм же (для веба) будет отличаться незначительно.

-=lebed=- 06.11.2008 18:33

Цитата:

Сообщение от nerezus
СМС есть не только в России.
В какой кодировке должна отправляться СМС из Украины в Россию?
Подумай над этим вопросом.
Поймешь.


Естественно. Аналогично можно привести примеры, где в cp1251 текст занимает больше. Но смысл? Общий обънм же (для веба) будет отличаться незначительно.

Дело не только в Вебе, пример с буквой i тоже наглядный, по сравнению с И в масштабе страны будет неплохая экономия на тонере, электроэнергии, краске... вот о чём идёт речь, так же и кодировкой... там экономия будет ещё больше...

По поводу кодировки SMS: Максимальный размер сообщения в стандарте GSM — 140 байт и всё, как хочешь так и кодируй, хоть в BinHEX!

Цитата:

В России некоторые абоненты сотовых сетей предпочитают писать SMS на родном языке, используя латинские буквы (см. транслит), что первоначально было обусловлено отсутствием поддержки кириллицы телефонными аппаратами. А с широким распространением русифицированных телефонов — привычкой, а также тем, что на латинице можно писать более длинные SMS (160 вместо 70 символов на кириллице). Например: Ura! Ya napisal pro SMS v wikipediu.

В англоязычных странах для экономии символов в SMS часто используют аббревиатуры, пропуски гласных, а также обозначают слова и слоги схожими по звучанию цифрами и буквами. Например, «C u l8r» с успехом заменяет «See you later». По данным Ассоциации GSM, первое сообщение SMS было отправлено с персонального компьютера на телефон Vodafone в Великобритании в декабре 1992 года.
Даже они экономят! Чё же говорить про нас?

nerezus 06.11.2008 18:43

Цитата:

И в масштабе страны будет неплохая экономия на тонере, электроэнергии, краске... вот о чём идёт речь, так же и кодировкой... там экономия будет ещё больше...
На чем экономия?
Допустим, внутри страны была бы cp1251. Ну тогда просто операторы подняли бы цены на смс.
И все стало бы на свои места.

Тебе не кажется, что цены за смс-трафик(в прямом смысле слова трафик, т.е. за мегабайт, к примеру) немного неадекватны? ))

-=lebed=- 06.11.2008 18:55

Цитата:

Сообщение от nerezus
На чем экономия?
Допустим, внутри страны была бы cp1251. Ну тогда просто операторы подняли бы цены на смс.
И все стало бы на свои места.

Тебе не кажется, что цены за смс-трафик(в прямом смысле слова трафик, т.е. за мегабайт, к примеру) немного неадекватны? ))

Ну подняли или нет, это не нам судить, цены идут не за трафик в байтах а за 1 смс размером в 140 байт!

Пользуясь латиницей я могу передать больше информации за те же деньги, чем используя кирилицу, и я знаю почему это так, и поэтому я этим пользуюсь (как и многие другие). Кстати 1251 содержит и многие украинские символы, так что можно было бы передавать и в 1251.
Просто те, кто херачат СМС в национальных кодировках более чем 70 символов, попросту теряют бабло на этом и это факт неоспоримый, почему? Из-за кодировки, потому как 71 символ - это уже ДВА СМС, т.е. двойной тариф!

P3L3NG 06.11.2008 19:11

совмещаю обе.
вот послушал вас и теперь загрузился на тему. наверное я совсем не рационально их юзал =(

nerezus 06.11.2008 22:44

-=lebed=-, сейчас у тебя нет выбора. cp1251 ты все равно не можешь юзать %)

PandoraBox 06.11.2008 22:56

проголосовал за Unicode UTF-8

-=lebed=- 06.11.2008 23:06

Цитата:

Сообщение от nerezus
-=lebed=-, сейчас у тебя нет выбора. cp1251 ты все равно не можешь юзать %)

Есть, я юзаю и на своём сайте и в базах и сейчас получая странички Античата в кодировке 1251 и в СМС, используя коды символов до 128 ;) (всё равно ведь коды для латиницы для основных кодировок ASCII, CP1251, UTF8 совпадают ;)
Так что выбор есть! Надо просто пользоваться, а не тупо идти на поводу тех, кто зарабатывает бабло на этом, ну скажите нахрена мне редко-используемые символы кириллицы? Посмотрите сколько там символов http://ru.wikipedia.org/wiki/Кириллица_в_Юникоде и как они выглядят!
По мне хватит и 33 (а лучше 32 - так в полубайт укладываемся) Азбука морзе - тоже весчь не плохая, можно было и ей кодировать точка - 0, тире - 1 красота! (http://ru.wikipedia.org/wiki/Азбука_Морзе)
UTF-8 избыточнена для одного национального алфавита, это видно невооружённым глазом, неспорю, что удобна в мировом масштабе для разных алфавитов, различных наций...
P.S. Ну с SMS всех обламали - это же очевидно, заложив многонациональную кодировку (в конкретном случае UTF16) а использующие латиницу нации остались в плюсе...ну и я юзаю, потому как 70 символов мне часто мало, а два СМС - жирно... ;)

GreenBear 06.11.2008 23:11

чего ты приелся к этим смс?

-=lebed=- 06.11.2008 23:32

Цитата:

Сообщение от GreenBear
чего ты приелся к этим смс?

Это лишь наглядный пример, доказываю что выбор есть... а чем хороши UTF я тут не увидел аргументов, кроме как то, что туда можно впихнуть всё нужное и не нужное...
P.S. И вообще сравнение если честно некорректное, если уж сравнивать то KOI-8R и 1251 или UTF8 и UTF16, потому как это всё равно что говорить что лучше 8 битный проц или 16-ти битный, что лучше 32 битная винда или 64 битная, что лучше 128 битный хэш или 256 битный (он не чем не лучше просто более стойкий к коллизиям, но опять же минус - больше места занимает) для каждых задач нужен свой размер, сейчас например хэш от 100 бит считается стойким, завтра от 128, после завтра от 160 и т.д. скорости, мощности растут ;)
Для кодирования кириллицы 1251 хватает "за глаза" (есть конечно проблемы, не спорю, но выгод сейчас пока больше). Юникод победит, но и другие нац. кодировки ещё жить долго будут... есть кстати ещё минусы UTF, в частности при передаче данных с потерями и восстановлении данных с помощью контрольных сумм, но не буду в это углублятся, подумайте сами...
P.S. Приведёт ли кто-нибудь плюсы UTF?


Время: 21:41