Re[4]: windows1251 в utf-8 и обратно
От: c-smile Канада http://terrainformatica.com
Дата: 27.06.11 02:41
Оценка:
Здравствуйте, uzhas, Вы писали:

U>Здравствуйте, c-smile, Вы писали:


CS>>Короче:

CS>>windows1251, utf-8, ascii, koi8 и все остальные есть транспортные кодировки unicode code points.

U>все же я не соглашусь с вашим мнением и поддержу идею, вызказанную Vain:

U>"старые" кодировки задают соответствие между кодом (байтом) и символом, причем в отрыве от юникода

Я не знаю что ты имеешь ввиду под словом "символ" если честно.
Есть понятие glyph — начертание или фрагмент начертания. Один или несколько glyphs могут образовывать символ или букву.
Говорят что для всех составных glyphs в unicode есть эквивалентные атомарные code points.
Это близко к тому что ты имеешь ввиду под "байт-символ"?

"Старых" кодировок было и есть море. "Старые" китайские/японские кодировки все multi-byte по определению.
Т.е. не ясно что ты имеешь ввиду.

И вообще не ясно что означает "старые". Например для русского Windows-1251 кодировка более оптимальна —
текст меньше места занимает. UTF не всегда имеет смысл использовать. Я не думаю что это дело устареет.

U>кодировки изначально были созданы в отсутствии юникода, поэтому они не могут на него ссылаться


Unicode это просто registry более менее всех живых и некоторых мертвых символов и их составных частей.
Каждому "символу" в unicode присвоено уникальное имя и эквивалентный числовой код.
Кодировка есть maping кодов последовательностей на имена "символов".
Поэтому современное формальное описание кодировки ссылается на это имя и/или код. См. http://en.wikipedia.org/wiki/Windows-1251

U>юникод был создан для того, чтобы изничтожить кодировки, т.к. с ними слишком много хлопот было


Изивините, но это бред. unicode это database и плюс несколько алгоритмов типа BiDi и всё.
Как database может "изничтожить кодировки"?

Если ты про UTF то это один из способов транспортного multibyte кодирования фиксированных алфавитов — изобретение Кейта Томпсона (отца изобретателя Unix) и Роберта Пайка (сейчас в Google делает язык Go). И кстати UTF может использоваться для передачи не только unicode code points.
Re[7]: windows1251 в utf-8 и обратно
От: Vain Россия google.ru
Дата: 27.06.11 09:42
Оценка:
Здравствуйте, const_volatile, Вы писали:

_>>>кодировка — это в том числе и "способ хранения". просто чтобы ты знал ^_^

V>>Кодировка языка это просто табличка символов, которую можно представлять как угодно.
_>это и есть твоё определение понятия "кодировка"? мда, "табличка", "как угодно"... детский сад, штаны на лямках.
Проще надо быть, а штаны на лямках оставте себе, доносите.

_>а теперь что понимает под кодировкой реальный мир. во-первых, в рамках CS/IT оперируют понятием "кодировки" не "языков", а "символов". "кодировка языка" — это юстас-алексу, шифрограммы и прочая не относящаяся к теме беллетристика.

Вода, вода..

_>во-вторых, кодировкой символов называют соглашение о соответствии некоторого набора символов набору цифр, или кодов.

Кеп?

_>ASCII, и KOI-8, и Windows-1251, и UTF-8 — это всё кодировки.

UTF — формат преобразования Юникода, но не набор символов (кодировка), это очевидно.

_>если же у тебя другое мнение на этот счёт, остаётся только порадоваться за твой живой ум, однако вступать в дискуссии по-моему опрометчиво с твоей стороны.

Это публичный форум, хочу вступаю, хочу нет.
_>в конце концов, непонимание основ чревато в нашей профессии.
угу

_>сначала незнание определения,

Какого определения, из википедии чтоли? Там много иногда несоответствии, нашли что преводить в качестве источника. По-английски UTF это именно формат, предлагаю так и переводит его — формат и не пудрить людям мозги.

_>потом несоответствие стандарту, а потом -бац- очередной шедевр вроде internet explorer 6.

до сих пор в инете используют и не жалуются.

CS>>>>>О как... "многобайтные символы" это что-то новое...

V>>>>Вы с этим не согласны?
_>>>нет конечно. "символ" — понятие абстрактное, с битами и байтами никак не связанное.
V>>"цвет" понятие абстрактное, с битами и байтами не связанное.
_>само собой. кстати, если юникод худо-бедно охватывает символы и знаки почти всех народов мира, то с цветами всё не так радужно, к rgb сводится только огрызок цветового пространства Lab, не говоря уж о несовместимости rgb-профилей разных устройств ^_^
не по теме решил блестнуть?

_>>>а вот для хранения и передачи символов и их последовательностей как раз и существуют разнообразные кодировки. и только в рамках конкретной кодировки можно говорить о количестве байт в представлении символов. и, кстати, кодировки бывают не только компьютерные. азбука морзе — это тоже кодировка, изобретённая задолго до появления термина "байт".

V>>Это ты щас к чему привёл? Мне нужно клинопись в качестве ответного примера привести? Тоже ведь за долго до.
_>к тому, что у тебя каша в голове и ты понятия не имеешь что такое "символы" и их "кодировки".
И расскажите, ну ёще.. про этот знак, с двумя точками наверху..

_>ну и пример твой, разумеется, ошибочен.

разумеется!

_>азбука морзе — это общепринятое соглашение о соответствии символов латинского алфавита..

О как! А азбука любого другого алфавита, это конечно не общепринятое соглашение, так третьесортная поделка на коленке..
_>..радиосигналам
ну а любой алфавит соответствие волнам мозга.. Тоже ведь не хуже, правда?

_>всё в рамках вышеприведённого определения. клинопись же — это иероглифическая письменность, графическое представление устной речи, так же как и современные иероглифы.

Ты подписаться забыл — ваш КО.

_>я, кстати, не удивлюсь, если в юникоде найдётся представление символов клинописи ^_^

уже найдётся, добавили.

_>>>вобщем я честно говоря не понимаю ни твоей позиции, ни упёртости, с которой ты её отстаиваешь. такое ощущение, что у тебя в голове какие-то свои определения понятий "символы" и "кодировки", которые ничего общего с общепринятыми не имеют.

Моё определение чёткое — UTF — формат, windows1251 — character encoding, не больше, не меньше. А у вас как раз каша — всё называть кодировкой, себя и других ещё путаете.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[7]: windows1251 в utf-8 и обратно
От: Vain Россия google.ru
Дата: 27.06.11 10:15
Оценка:
Здравствуйте, uzhas, Вы писали:

V>>В utf-8 нигде не храниться информации о языке, только набор байт для какого-то символа из какой-то таблицы.

U>таблица не какая-то, а вполне конкретная
U>http://en.wikibooks.org/wiki/Unicode/Character_reference/2000-2FFF (это часть большой юникодной таблицы)
U>у win1251 своя таблица, которая неким символам (русского языка) сопоставляет число (8 бит)
U>utf-8 имеет другую таблицу (юникод) и тоже сопоставляет элементам этой таблицы последовательность бит (от 8 до 32 бит)
Так кто вам мешает туда сохранять эту таблицу или их набор, или вы собрались все языки поддерживать? Так на уровне обычных программ это неподъёмная задача и не у всех есть возможность пользовать готовые библиотеки, которые здесь называли.
U>для того, чтобы сконвертировать win1251 в utf-8 надо понять, имеются ли аналоги элементов первой таблицы во второй (в юникоде). оказывается, что в юникоде есть аналогичные символы, поэтому конвертация возможна
U>utf-16 и utf-8 кодируют битами эелементы одной и той же таблицы
Если вым задан набор языков в вашей программе, которые надо поддержать, то резонно встаёт вопрос, зачем это делать для всех языков?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[8]: windows1251 в utf-8 и обратно
От: const_volatile  
Дата: 27.06.11 11:30
Оценка:
Здравствуйте, Vain, Вы писали:

_>>кодировкой символов называют соглашение о соответствии некоторого набора символов набору цифр, или кодов.

V>Кеп?

это определние понятия "кодировка символов".

_>>ASCII, и KOI-8, и Windows-1251, и UTF-8 — это всё кодировки.

V>UTF — формат преобразования Юникода,

ок, тогда KOI8 и win1251 — форматы преобразования кириллицы. это что-нибудь объясняет? нет. к чему тогда огород городить, вводить ещё одно понятие "формат"? что такое формат по-твоему, расскажи тогда, если уж определения кодировки от тебя добиться невозможно.

V>но не набор символов (кодировка), это очевидно.


КОМУ это очевидно? упёртым баранам? "набор символов" и "кодировка" близкие, но не взаимозаменяемые понятия. см. определение выше. кодировка предписывает, каким образом символ из набора отображается на последовательность битиков. я уж не знаю, как можно доступнее объяснить.

_>>сначала незнание определения,

V>Какого определения, из википедии чтоли? Там много иногда несоответствии, нашли что преводить в качестве источника.

в википедии много херни, особенно в политических и исторических разделах, но понятия, относящиеся к computer science, там разруливаются чётко и недвусмысленно. но если ты всё-таки ей не доверяешь, вот тебе ссылка на сайт Консорциума Юникод:

Q: What is the definition of UTF-8?

A: UTF-8 is the byte-oriented encoding form of Unicode.


перевожу: ВОПРОС: Что таеое UTF-8? ОТВЕТ: UTF-8 — это байт-ориентированная кодировка Юникода. ещё вопросы?

V>По-английски UTF это именно формат, предлагаю так и переводит его — формат и не пудрить людям мозги.


речь не о переводе аббревиатуры, а о значении терминов.

_>>потом несоответствие стандарту, а потом -бац- очередной шедевр вроде internet explorer 6.

V>до сих пор в инете используют и не жалуются.

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

_>>>>вобщем я честно говоря не понимаю ни твоей позиции, ни упёртости, с которой ты её отстаиваешь. такое ощущение, что у тебя в голове какие-то свои определения понятий "символы" и "кодировки", которые ничего общего с общепринятыми не имеют.

V>Моё определение чёткое — UTF — формат, windows1251 — character encoding, не больше, не меньше.

это не чёткое определение, это ничего не значащий набор слов, вроде масло масляное. ты зачем-то в дополнение к понятиям "символы" и "кодировки", о которых речь шла до этого, вводишь ещё одно своё понятие "формат", причем не удосужившись дать ему определение в рамках обсуждаемой темы. мы так до второго пришествия можем переписываться, и ты каждый раз будешь изобретать всё новые слова для UTF-8, лишь бы не называть её кодировкой.
Re[9]: windows1251 в utf-8 и обратно
От: Vain Россия google.ru
Дата: 27.06.11 19:32
Оценка:
Здравствуйте, const_volatile, Вы писали:

_>ок, тогда KOI8 и win1251 — форматы преобразования кириллицы. это что-нибудь объясняет? нет. к чему тогда огород городить, вводить ещё одно понятие "формат"?

Я ничего нового не вводил, форматом он изначально был.

_>что такое формат по-твоему, расскажи тогда, если уж определения кодировки от тебя добиться невозможно.

Сколько можно повторять? Способ хранения этой самой кодировки.

V>>но не набор символов (кодировка), это очевидно.

_>КОМУ это очевидно? упёртым баранам? "набор символов" и "кодировка" близкие, но не взаимозаменяемые понятия. см. определение выше. кодировка предписывает, каким образом символ из набора отображается на последовательность битиков. я уж не знаю, как можно доступнее объяснить.
Кодировка не объясняет как эти битики хранить.

_>>>сначала незнание определения,

V>>Какого определения, из википедии чтоли? Там много иногда несоответствии, нашли что преводить в качестве источника.

_>в википедии много херни, особенно в политических и исторических разделах, но понятия, относящиеся к computer science, там разруливаются чётко и недвусмысленно. но если ты всё-таки ей не доверяешь, вот тебе ссылка на сайт Консорциума Юникод:

_>

Q: What is the definition of UTF-8?
_>A: UTF-8 is the byte-oriented encoding form of Unicode.

_>перевожу: ВОПРОС: Что таеое UTF-8? ОТВЕТ: UTF-8 — это байт-ориентированная кодировка Юникода. ещё вопросы?
character encoding и byte-oriented encoding form можешь отличить?

_>тебе просто не приходилось общаться с веб-дизайнерами, которые верстают страницы и вынуждены поддерживать это говно мамонта, плюющее на все стандарты.

Я сам был web-писателем, так что в курсе.

_>это не чёткое определение, это ничего не значащий набор слов, вроде масло масляное. ты зачем-то в дополнение к понятиям "символы" и "кодировки", о которых речь шла до этого, вводишь ещё одно своё понятие "формат", причем не удосужившись дать ему определение в рамках обсуждаемой темы.

Ничего нового я не вводил, прочитайте ещё раз аббревиатуру UTF.

_>мы так до второго пришествия можем переписываться, и ты каждый раз будешь изобретать всё новые слова для UTF-8, лишь бы не называть её кодировкой.

я уже дал конкретную расшифровку слова "кодировка" — табличка кодов символов (или отображение символов на их коды), в которой не указано как эти коды хранить.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: windows1251 в utf-8 и обратно
От: Аноним  
Дата: 28.06.11 05:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Требуется написать на С функции, выволняющие указанные в заголовке преобразования.

А>Как это вообще делается? Куда копать?
Здесь обсуждалось правда перекодировка только в одну сторону
здесь
Автор: SergeySymbol
Дата: 16.05.11
Re[8]: windows1251 в utf-8 и обратно
От: MasterZiv СССР  
Дата: 28.06.11 07:19
Оценка:
On 27.06.2011 14:15, Vain wrote:

> V>>В utf-8 нигде не храниться информации о языке, только набор байт для

> какого-то символа из *какой-то* таблицы.

Вообще-то зря ты спориш, теоретек.
utf-8 подразумевает хранение символов во вполне конкретной кодировке --
Unicode.
Posted via RSDN NNTP Server 2.1 beta
Re[9]: windows1251 в utf-8 и обратно
От: Vain Россия google.ru
Дата: 28.06.11 08:30
Оценка:
Здравствуйте, MasterZiv, Вы писали:

>> V>>В utf-8 нигде не храниться информации о языке, только набор байт для

>> какого-то символа из *какой-то* таблицы.
MZ>Вообще-то зря ты спориш, теоретек.
MZ>utf-8 подразумевает хранение символов во вполне конкретной кодировке --
MZ>Unicode.
Я уже сказал что хранить символы там можно любые.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[9]: windows1251 в utf-8 и обратно
От: Flegmatic Россия http://polycode.livejournal.com
Дата: 01.07.11 13:39
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>On 27.06.2011 14:15, Vain wrote:


>> V>>В utf-8 нигде не храниться информации о языке, только набор байт для

>> какого-то символа из *какой-то* таблицы.

MZ>Вообще-то зря ты спориш, теоретек.

MZ>utf-8 подразумевает хранение символов во вполне конкретной кодировке --
MZ>Unicode.

Если уж речь пошла о терминологии Unicode, то encoded character (coded character) — это абстрактный символ, которому сопоставили число (code point), не говоря ничего о том, как это число представляется в компьютере (п. 2.4, 3.4 стандарта). Если переводить дословно, то да, Unicode — это "кодировка". Но дальше, в п. 2.5, вводится термин encoding form, означающий, грубо говоря, способ двоичного представления каждого code point. UTF-8, UTF-16 (BE и LE), UTF-32 (BE и LE) — это encoding forms, что тоже можно перевести как "кодировка".

Поскольку cp1251 и прочие не имеют отношения к Unicode, то и соответствующая терминология к ним неприменима. cp1251 пропускает этап "code point", сразу назначая символам двоичное представление. Кроме того, cp1251 ограничивает набор представимых символов и является, согласно терминологии POSIX (см. п. 3.90, 3.98), "coded character set".
Re[6]: windows1251 в utf-8 и обратно
От: Vain Россия google.ru
Дата: 01.07.11 21:42
Оценка:
Здравствуйте, Mucmep, Вы писали:

M>>> H>Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?

M>>> Я тебе уже ответил , в_каждую_жопу_затычка.
H>>Вообще-то, говорят в каждую бочку затычка. В твоем петушатнике этого не знают?
M>Послушай, страшный тирарист, я таких как ты не одобряю и не поддерживаю. Понятное дело, вас, петухов, не развожу и разводить никогда не буду, чего вы там должны знать не в курсе. Чтобы ты не надеялся напрасно и избежать траты времени на дальнейшие намеки, скажу сразу, знакомых геев у меня тоже нет. Поэтому, не могу подогнать тебе никого кто бы распечатал тебе жопу, но ты не отчаивайся, продолжай искать и наверняка найдется кто-то, кто тебя осчастливит. Но, чтобы тебе повезло быстрее, говори прямо, что ты гей, ищешь партнера по ролевым играм, ты тирарист, партнер — ЧКист поймавший и наказывающий тирариста. А теперь сделай одолжение, с*ебись с форума и забери своих "друзей по заду", сделайте себе сайт bluemamba.com и общайтесь там, не засерайте форум своей гомосятиной, превратили rsdn в помойку для гламурных геев. Гомосеки-волшебники, имейте совесть, это сайт о программировании.
Вас уже посчитали..
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.