Здравствуйте, Vain, Вы писали:
V>В utf-8 нигде не храниться информации о языке, только набор байт для какого-то символа из какой-то таблицы.
таблица не какая-то, а вполне конкретная http://en.wikibooks.org/wiki/Unicode/Character_reference/2000-2FFF (это часть большой юникодной таблицы)
у win1251 своя таблица, которая неким символам (русского языка) сопоставляет число (8 бит)
utf-8 имеет другую таблицу (юникод) и тоже сопоставляет элементам этой таблицы последовательность бит (от 8 до 32 бит)
для того, чтобы сконвертировать win1251 в utf-8 надо понять, имеются ли аналоги элементов первой таблицы во второй (в юникоде). оказывается, что в юникоде есть аналогичные символы, поэтому конвертация возможна
utf-16 и utf-8 кодируют битами эелементы одной и той же таблицы
Здравствуйте, Аноним, Вы писали:
А>Требуется написать на С функции, выволняющие указанные в заголовке преобразования. А>Как это вообще делается? Куда копать?
Блин, я фигею с наших программистов.
Человек задал конкретный вопрос и, вместо того, чтобы конкретно ответить на вопрос, устроили срач о том, что является кодировкой, а что нет.
Я думал, форум создан для помощи, а не повышении ЧСВ.
Здравствуйте, Mucmep, Вы писали:
M> А>Требуется написать на С функции, выволняющие указанные в заголовке преобразования. M> А>Как это вообще делается? Куда копать?
M> Блин, я фигею с наших программистов. M> Человек задал конкретный вопрос и, вместо того, чтобы конкретно ответить на вопрос, устроили срач о том, что является кодировкой, а что нет. M> Я думал, форум создан для помощи, а не повышении ЧСВ.
Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, Mucmep, Вы писали:
M>> А>Требуется написать на С функции, выволняющие указанные в заголовке преобразования. M>> А>Как это вообще делается? Куда копать?
M>> Блин, я фигею с наших программистов. M>> Человек задал конкретный вопрос и, вместо того, чтобы конкретно ответить на вопрос, устроили срач о том, что является кодировкой, а что нет. M>> Я думал, форум создан для помощи, а не повышении ЧСВ.
H>Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?
Здравствуйте, Mucmep, Вы писали:
M> H>Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?
M> Я тебе уже ответил , в_каждую_жопу_затычка.
Вообще-то, говорят в каждую бочку затычка. В твоем петушатнике этого не знают?
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, Mucmep, Вы писали:
M>> H>Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?
M>> Я тебе уже ответил , в_каждую_жопу_затычка.
H>Вообще-то, говорят в каждую бочку затычка. В твоем петушатнике этого не знают?
По поводу кода: именно это автор видимо и искал (так ведь, да?).
По поводу срача: ну реально из ничего начали лаяться, как-то непрофессионально, ибо не имеет никакого отношения к вопросу.
И какая разница что есть кодировка. Мы преследуем эстетизм, корректность формулировок и вообще 'вам шашечки или ехать'?
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, Mucmep, Вы писали:
M>> H>Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?
M>> Я тебе уже ответил , в_каждую_жопу_затычка.
H>Вообще-то, говорят в каждую бочку затычка. В твоем петушатнике этого не знают?
Послушай, страшный тирарист, я таких как ты не одобряю и не поддерживаю. Понятное дело, вас, петухов, не развожу и разводить никогда не буду, чего вы там должны знать не в курсе. Чтобы ты не надеялся напрасно и избежать траты времени на дальнейшие намеки, скажу сразу, знакомых геев у меня тоже нет. Поэтому, не могу подогнать тебе никого кто бы распечатал тебе жопу, но ты не отчаивайся, продолжай искать и наверняка найдется кто-то, кто тебя осчастливит. Но, чтобы тебе повезло быстрее, говори прямо, что ты гей, ищешь партнера по ролевым играм, ты тирарист, партнер — ЧКист поймавший и наказывающий тирариста. А теперь сделай одолжение, с*ебись с форума и забери своих "друзей по заду", сделайте себе сайт bluemamba.com и общайтесь там, не засерайте форум своей гомосятиной, превратили rsdn в помойку для гламурных геев. Гомосеки-волшебники, имейте совесть, это сайт о программировании.
.
t> По поводу срача: ну реально из ничего начали лаяться, как-то непрофессионально, ибо не имеет никакого отношения к вопросу.
Появляется некто и начинает охать и ахать о том какие у нас программисты нехорошие. Ну захотел дать готовый код, можно дать без рассусоливаний и отсылок к ЧСВ.
t> И какая разница что есть кодировка. Мы преследуем эстетизм, корректность формулировок и вообще 'вам шашечки или ехать'?
У нас тут форум подразумевающий общение или где? Если человек допускает некорректность в формулировке и в дальнейшем на ней настаивает, не вижу причин это не обсудить
Здравствуйте, Mucmep, Вы писали:
M> H>Здравствуйте, Mucmep, Вы писали:
M> M>> H>Он спросил куда копать, ему ответили Чем ты не доволен, добрых дел мастер?
M> M>> Я тебе уже ответил , в_каждую_жопу_затычка.
M> H>Вообще-то, говорят в каждую бочку затычка. В твоем петушатнике этого не знают?
M> Послушай, страшный тирарист, я таких как ты не одобряю и не поддерживаю. Понятное дело, вас, петухов, не развожу и разводить никогда не буду, чего вы там должны знать не в курсе. Чтобы ты не надеялся напрасно и избежать траты времени на дальнейшие намеки, скажу сразу, знакомых геев у меня тоже нет. Поэтому, не могу подогнать тебе никого кто бы распечатал тебе жопу, но ты не отчаивайся, продолжай искать и наверняка найдется кто-то, кто тебя осчастливит. Но, чтобы тебе повезло быстрее, говори прямо, что ты гей, ищешь партнера по ролевым играм, ты тирарист, партнер — ЧКист поймавший и наказывающий тирариста. А теперь сделай одолжение, с*ебись с форума и забери своих "друзей по заду", сделайте себе сайт bluemamba.com и общайтесь там, не засерайте форум своей гомосятиной, превратили rsdn в помойку для гламурных геев. Гомосеки-волшебники, имейте совесть, это сайт о программировании.
Здравствуйте, Vain, Вы писали:
V>Вопрос из серии как превратить тёплое в мягкое. V>windows1251 — кодировка символов V>utf-8 — способ хранения многобайтных символов
О как... "многобайтные символы" это что-то новое...
Короче:
windows1251, utf-8, ascii, koi8 и все остальные есть транспортные кодировки unicode code points.
Кодировка может быть полная (utf-8, utf-16, GB18030 — охватывает весь unicode code point range) или частичная (windows1251, ascii, koi8).
Кодировка может иметь byte code unit — windows1251, utf-8, ascii, koi8, а может иметь word code unit — utf-16.
Кодировка может иметь variable number of code units per code point — utf-8, utf-16, GB18030... , а может иметь one code unit per code point — windows1251, koi8, utf-32.
Здравствуйте, c-smile, Вы писали:
CS>Короче: CS>windows1251, utf-8, ascii, koi8 и все остальные есть транспортные кодировки unicode code points.
все же я не соглашусь с вашим мнением и поддержу идею, вызказанную Vain:
"старые" кодировки задают соответствие между кодом (байтом) и символом, причем в отрыве от юникода
кодировки изначально были созданы в отсутствии юникода, поэтому они не могут на него ссылаться
юникод был создан для того, чтобы изничтожить кодировки, т.к. с ними слишком много хлопот было
поэтому в него попытались засунуть самые распространенные кодировки, чтобы переход с кодировок на юникод был наиболее безболезненным
я вполне допускаю существование кодировки, в которой был символ, который не представим в юникоде вообще или для его представления требуется несколько юникодных code points
напомню, что для всяких умляутов, ударений, зачеркиваний существуют спец. code points, которые вносят трансормацию предыдущему символу с целью добавить в него умляут, ударение и тд.
Здравствуйте, c-smile, Вы писали:
V>>Вопрос из серии как превратить тёплое в мягкое. V>>windows1251 — кодировка символов V>>utf-8 — способ хранения многобайтных символов CS>О как... "многобайтные символы" это что-то новое... CS>Короче: CS>windows1251, utf-8, ascii, koi8 и все остальные есть транспортные кодировки unicode code points. CS>Кодировка может быть полная (utf-8, utf-16, GB18030 — охватывает весь unicode code point range) или частичная (windows1251, ascii, koi8). CS>Кодировка может иметь byte code unit — windows1251, utf-8, ascii, koi8, а может иметь word code unit — utf-16. CS>Кодировка может иметь variable number of code units per code point — utf-8, utf-16, GB18030... , а может иметь one code unit per code point — windows1251, koi8, utf-32.
Кто вам мешает туда запихнуть символы из разных таблиц?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, c-smile, Вы писали:
V>>Вопрос из серии как превратить тёплое в мягкое. V>>windows1251 — кодировка символов V>>utf-8 — способ хранения многобайтных символов CS>О как... "многобайтные символы" это что-то новое...
Вы с этим не согласны?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, uzhas, Вы писали:
CS>>Короче: CS>>windows1251, utf-8, ascii, koi8 и все остальные есть транспортные кодировки unicode code points. U>все же я не соглашусь с вашим мнением и поддержу идею, вызказанную Vain: U>"старые" кодировки задают соответствие между кодом (байтом) и символом, причем в отрыве от юникода
Это не так. Были "старые" кодировки с композитными символами (для арабского), просто много менее распространены.
U>кодировки изначально были созданы в отсутствии юникода, поэтому они не могут на него ссылаться
Тем не менее, при стандартизации Юникода позаботились, чтобы все символы "старых" кодировок попали в стандарт (насколько я знаю, это не сразу получилось, но сейчас в стандарте большинство символов есть).
U>юникод был создан для того, чтобы изничтожить кодировки, т.к. с ними слишком много хлопот было
Нет, Юникод был создан для стандартизации набора символов. А кодировки — это не более чем способ передачи этих символов.
U>напомню, что для всяких умляутов, ударений, зачеркиваний существуют спец. code points, которые вносят трансормацию предыдущему символу с целью добавить в него умляут, ударение и тд.
Это называется "композитные символы", и не имеет никакого отношения к кодировкам.
Здравствуйте, uzhas, Вы писали:
CS>>Короче: CS>>windows1251, utf-8, ascii, koi8 и все остальные есть транспортные кодировки unicode code points. U>все же я не соглашусь с вашим мнением и поддержу идею, вызказанную Vain: U>"старые" кодировки задают соответствие между кодом (байтом) и символом, причем в отрыве от юникода
и юникод задаёт соотвествие между кодом (набором байт) и символом.
U>кодировки изначально были созданы в отсутствии юникода, поэтому они не могут на него ссылаться
и что?
U>юникод был создан для того, чтобы изничтожить кодировки, т.к. с ними слишком много хлопот было U>поэтому в него попытались засунуть самые распространенные кодировки, чтобы переход с кодировок на юникод был наиболее безболезненным
никакие кодировки в него не засовывали. засовывали символы, которые до юникода представлялись разными кодировками. в конце концов, unicode означает UNIform enCODing, т.е. унифицированная кодировка. как после этого можно всерьёз утверждать, что юникод — не кодировка, я не понимаю.
U>напомню, что для всяких умляутов, ударений, зачеркиваний существуют спец. code points, которые вносят трансормацию предыдущему символу с целью добавить в него умляут, ударение и тд.
хм. можешь как-то подтвердить это? просто такое поведение противоречит принципам, на основе которых создавался уникод. я допускаю, что могут быть code points, которые меняют представление последующих знаков (собственно utf-8 примерно так и построен), но никак не предыдущих. по-твоему, если данные посимвольно отправляются на печать, то получив полный символ нельзя его сразу напечатать, потому что следом может идти модификатор? вобщем хотелось бы ссылочку на стандарт или какой-нибудь rfc.
Здравствуйте, Vain, Вы писали:
V>>>Вопрос из серии как превратить тёплое в мягкое. V>>>windows1251 — кодировка символов V>>>utf-8 — способ хранения многобайтных символов
кодировка — это в том числе и "способ хранения". просто чтобы ты знал ^_^
CS>>О как... "многобайтные символы" это что-то новое... V>Вы с этим не согласны?
нет конечно. "символ" — понятие абстрактное, с битами и байтами никак не связанное. а вот для хранения и передачи символов и их последовательностей как раз и существуют разнообразные кодировки. и только в рамках конкретной кодировки можно говорить о количестве байт в представлении символов. и, кстати, кодировки бывают не только компьютерные. азбука морзе — это тоже кодировка, изобретённая задолго до появления термина "байт". вобщем я честно говоря не понимаю ни твоей позиции, ни упёртости, с которой ты её отстаиваешь. такое ощущение, что у тебя в голове какие-то свои определения понятий "символы" и "кодировки", которые ничего общего с общепринятыми не имеют.
Здравствуйте, const_volatile, Вы писали:
_>никакие кодировки в него не засовывали. засовывали символы, которые до юникода представлялись разными кодировками. в конце концов, unicode означает UNIform enCODing, т.е. унифицированная кодировка. как после этого можно всерьёз утверждать, что юникод — не кодировка, я не понимаю.
Имя "Unicode" официально никак не расшифровывается, и конкретно в самом стандарте оперируют не байтами, а codepoint'ами. Которые уже могут быть кодированы разными способами.
Здравствуйте, const_volatile, Вы писали:
V>>>>Вопрос из серии как превратить тёплое в мягкое. V>>>>windows1251 — кодировка символов V>>>>utf-8 — способ хранения многобайтных символов _>кодировка — это в том числе и "способ хранения". просто чтобы ты знал ^_^
Кодировка языка это просто табличка символов, которую можно представлять как угодно. просто чтоб знал ты.
CS>>>О как... "многобайтные символы" это что-то новое... V>>Вы с этим не согласны? _>нет конечно. "символ" — понятие абстрактное, с битами и байтами никак не связанное.
"цвет" понятие абстрактное, с битами и байтами не связанное.
_>а вот для хранения и передачи символов и их последовательностей как раз и существуют разнообразные кодировки. и только в рамках конкретной кодировки можно говорить о количестве байт в представлении символов. и, кстати, кодировки бывают не только компьютерные. азбука морзе — это тоже кодировка, изобретённая задолго до появления термина "байт".
Это ты щас к чему привёл? Мне нужно клинопись в качестве ответного примера привести? Тоже ведь за долго до.
_>вобщем я честно говоря не понимаю ни твоей позиции, ни упёртости, с которой ты её отстаиваешь. такое ощущение, что у тебя в голове какие-то свои определения понятий "символы" и "кодировки", которые ничего общего с общепринятыми не имеют.
Это скорее у вас котлеты с мухами подают, у нас как раз такое не принято.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Vain, Вы писали:
V>>>>>Вопрос из серии как превратить тёплое в мягкое. V>>>>>windows1251 — кодировка символов V>>>>>utf-8 — способ хранения многобайтных символов _>>кодировка — это в том числе и "способ хранения". просто чтобы ты знал ^_^ V>Кодировка языка это просто табличка символов, которую можно представлять как угодно.
это и есть твоё определение понятия "кодировка"? мда, "табличка", "как угодно"... детский сад, штаны на лямках. впрочем, даже в рамках этого убого определения utf-8 таки является кодировкой.
а теперь что понимает под кодировкой реальный мир. во-первых, в рамках CS/IT оперируют понятием "кодировки" не "языков", а "символов". "кодировка языка" — это юстас-алексу, шифрограммы и прочая не относящаяся к теме беллетристика. во-вторых, кодировкой символов называют соглашение о соответствии некоторого набора символов набору цифр, или кодов. согласно этому определению (общепринятому в computer science), и ASCII, и KOI-8, и Windows-1251, и UTF-8 — это всё кодировки. если же у тебя другое мнение на этот счёт, остаётся только порадоваться за твой живой ум, однако вступать в дискуссии по-моему опрометчиво с твоей стороны. в конце концов, непонимание основ чревато в нашей профессии. сначала незнание определения, потом несоответствие стандарту, а потом -бац- очередной шедевр вроде internet explorer 6.
CS>>>>О как... "многобайтные символы" это что-то новое... V>>>Вы с этим не согласны? _>>нет конечно. "символ" — понятие абстрактное, с битами и байтами никак не связанное. V>"цвет" понятие абстрактное, с битами и байтами не связанное.
само собой. кстати, если юникод худо-бедно охватывает символы и знаки почти всех народов мира, то с цветами всё не так радужно, к rgb сводится только огрызок цветового пространства Lab, не говоря уж о несовместимости rgb-профилей разных устройств ^_^
_>>а вот для хранения и передачи символов и их последовательностей как раз и существуют разнообразные кодировки. и только в рамках конкретной кодировки можно говорить о количестве байт в представлении символов. и, кстати, кодировки бывают не только компьютерные. азбука морзе — это тоже кодировка, изобретённая задолго до появления термина "байт". V>Это ты щас к чему привёл? Мне нужно клинопись в качестве ответного примера привести? Тоже ведь за долго до.
к тому, что у тебя каша в голове и ты понятия не имеешь что такое "символы" и их "кодировки". ну и пример твой, разумеется, ошибочен. азбука морзе — это общепринятое соглашение о соответствии символов латинского алфавита радиосигналам. всё в рамках вышеприведённого определения. клинопись же — это иероглифическая письменность, графическое представление устной речи, так же как и современные иероглифы. я, кстати, не удивлюсь, если в юникоде найдётся представление символов клинописи ^_^
_>>вобщем я честно говоря не понимаю ни твоей позиции, ни упёртости, с которой ты её отстаиваешь. такое ощущение, что у тебя в голове какие-то свои определения понятий "символы" и "кодировки", которые ничего общего с общепринятыми не имеют.