Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2010-09-25 15:41:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
емакс 22.3.1 гробит файлы, собака
У меня стоит емакс 22.3.1,
и при редактировании файлов он периодически сходит с ума
и спонтанно конвертирует русские буквы в загадочную кодировку

▄╟▄э▄у▄Ю▄ь▄з▄п▄щ▄Ф▄К ▄я▄ч▄э▄я▄ь▄ш▄ь ▄╨▄ч▄Ю▄у▄Н, ▄в▄п▄Е▄р▄п▄Б▄К▄р▄п▄ш▄ь ▄Ё▄Ю▄у▄щ▄п▄т▄Ц,
▄╫▄п▄ъ▄п▄ш▄э▄ч▄э ▄А▄ж▄ь▄с▄п▄ш▄ь ▄╡▄Л▄у▄Б▄щ▄п▄э. ▄╟▄э▄у▄Ю▄ь▄з▄п▄щ▄Ф▄К - ▄т▄у▄с▄у▄щ▄у▄Ю▄п▄Б▄
К!
▄╟▄э▄у▄Ю▄ь▄з▄п▄щ▄Ф▄К ▄я▄ч▄э▄я▄О▄Б ▄╠▄п▄с▄т▄п▄т, ▄щ▄ь ▄э▄п▄ш▄К▄Е, ▄щ▄ь ▄А▄Б▄п▄Ю▄К▄Е ▄щ▄у ▄э
▄ь▄ш▄Ц▄О,
▄╟▄э▄у▄Ю▄ь▄з▄п▄щ▄Ф▄К ▄я▄ч▄э▄я▄О▄Б ▄╠▄у▄ш▄с▄Ю▄п▄т, ▄р ▄ь▄Е ▄ъ▄ш▄п▄щ▄п▄Е ▄Ц▄т▄п▄Ю ▄ъ▄ч ▄ю▄ч▄
А▄А▄ь▄ь.

▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄Ю▄п▄с ▄ю▄ч▄А▄А▄ь▄ь
▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄Ю▄п▄с ▄Ё▄Ю▄у▄щ▄п▄т▄К
▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄Ю▄п▄с ▄╨▄ч▄Ю▄у▄ь
▄ц▄я▄у▄ы ▄п▄э▄у▄Ю▄ь▄з▄п▄щ▄Ф▄п, ▄Ц▄я▄у▄ы!

▄╟▄э▄у▄Ю▄ь▄з▄п - ▄А▄я▄ч▄Ю▄ь▄И▄у ▄я▄п▄щ▄т▄ь▄Б▄ч▄р, ▄А▄п▄т▄ь▄А▄Б▄ч▄р, ▄ъ▄ч▄т▄ч▄щ▄з▄ч▄р ▄ь ▄с
▄Ю▄п▄я▄ь▄Б▄у▄ш▄у▄ы,
▄╬▄ъ▄ш▄ч▄Б ▄э▄ь▄Ю▄ч▄р▄К▄Е ▄ъ▄п▄Ю▄п▄в▄ь▄Б▄ч▄р, ▄с▄щ▄у▄в▄т▄ч ▄т▄Ц▄Х▄у▄с▄Ц▄я▄ч▄р-▄э▄Ц▄Г▄ь▄Б▄у
▄ш▄у▄ы.
▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄щ▄у ▄в▄п▄з▄ч▄щ▄ч▄р ▄Г▄у▄ш▄ч▄р▄у▄Г▄у▄А▄з▄ь▄Е ▄ь ▄я▄ч▄ж▄у▄А▄Б▄р▄у▄щ▄щ▄К▄
Е,
▄╬▄щ▄п - ▄ж▄п▄щ▄т▄п▄Ю▄э ▄Ю▄у▄с▄ь▄ч▄щ▄ч▄р, ▄щ▄ч ▄я▄Ц▄т▄у▄Б ▄ь ▄у▄ы ▄р▄ч▄в▄э▄у▄в▄т▄ь▄у!

▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄Ю▄п▄с ▄н▄с▄ч▄А▄ш▄п▄р▄ь▄ь,
▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄Ю▄п▄с ▄╡▄Л▄у▄Б▄щ▄п▄э▄п,
▄╟▄э▄у▄Ю▄ь▄з▄п - ▄р▄Ю▄п▄с ▄╦▄Ю▄п▄з▄п,
▄ц▄я▄у▄ы ▄п▄э▄у▄Ю▄ь▄з▄п▄щ▄Ф▄п, ▄Ц▄я▄у▄ы!

Кто-нибудь знает, что это за кодировка и как восстановить
контент? recode UTF-8..KOI8-R не работает, потому что это
не Юникод, и http://www.artlebedev.ru/tools/decoder/ тоже не знает.

Оригинал там какой-то такой
(не знаю, откуда взялся, лежал в файле)

Американцы бомбили Корею, захватывали Гренаду,
Напалмом сжигали Вьетнам. Американцы - дегенераты!
Американцы бомбят Багдад, ни малых, ни старых не милуя,
Американцы бомбят Белград, в их планах удар по России.

Америка - враг России
Америка - враг Гренады
Америка - враг Кореи
Убей американца, убей!

Америка - сборище бандитов, садистов, подонков и грабителей,
Оплот мировых паразитов, гнездо душегубов-мучителей.
Америка - вне законов человеческих и божественных,
Она - жандарм регионов, но будет и ей возмездие!

Америка - враг Югославии,
Америка - враг Вьетнама,
Америка - враг Ирака,
Убей американца, убей!

Наверное, Харчиков.

Привет

Update В комментах подсказали рецепт. Надо выкинуть из файла все ▄
(заменой) и сделать recode ISO-8859-5..KOI8-R


(Читать комментарии) - (Добавить комментарий)


[info]ketmar
2010-09-26 16:46 (ссылка)
>берется нараз, просто находишь первый синхронизирующий байт
поясни мне, в каком месте это проще, удобней и быстрей одной инструкции add, а?

>Если ты в середине символа
и щито я таки там забыл? это ж не сраная UTF, где ответ на размер символа в байтах «а хуй его знает, потом угадаем!»

для избавления от десинка потока есть более другие методы, пихать их в кодировку — совершенное уебанство.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2010-09-26 17:19 (ссылка)
> поясни мне, в каком месте это проще, удобней и быстрей одной инструкции add, а?

Мы говорим о сериализованном или десериализованном представлении? Если второе, то хоть красно-черное дерево организуй.

> и щито я таки там забыл? это ж не сраная UTF, где ответ на размер символа в байтах «а хуй его знает, потом угадаем!»

Причем тут размер, чудик?

> для избавления от десинка потока есть более другие методы, пихать их в кодировку — совершенное уебанство.

А что такое по-твоему кодировка? И для чего она нужна?

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

Ты живешь в сферической вселенной, где с legacy нет никаких проблем и все с радостью по первому звонку переходят с ASCII на UTF-32 и на один и тот же порядок байт?

Как бы все технические изобретения человечества - костыли вокруг законов природы. Будешь менять законы?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2010-09-26 17:55 (ссылка)
>Мы говорим о сериализованном или десериализованном представлении?
мы говорим конкретно об UTF-8. любое преобразовение куда-либо будет уже другим предметом беседы.

>Если второе, то хоть красно-черное дерево организуй.
это таки снова проще, чем одна add? O_O

>Причем тут размер, чудик?
при том, что строка+42 в нормальных кодировках — это точно попадание на начало символа. а в UTF это попадание хуй знает куда.

>А что такое по-твоему кодировка? И для чего она нужна?
не поверишь: для того, чтобы однозначно отобразить множество символов на множество чисел. а не для, бля, «синхронизации» и прочей поеботины. для этого придуманы протоколы.

>Ты живешь в сферической вселенной, где с legacy нет никаких проблем и все с
>радостью по первому звонку переходят с ASCII на UTF-32 и на один и тот же порядок
>байт?

я живу во вселенной, где руками и ногами цепляются за костыли. видимо потому, что ноги атрофировались. однако же факт того, что 95% никак не отменяет мудачизма костылей.

на последний пассаж отвечать и вовсе глупо.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2010-09-26 18:15 (ссылка)
У тебя таки каша в голове.

> это таки снова проще, чем одна add? O_O

Опять ты про add? Неясно, что ты здесь имеешь ввиду под "проще". Скорость? Удобство программирования?

> при том, что строка+42 в нормальных кодировках — это точно попадание на начало символа. а в UTF это попадание хуй знает куда.

Нормальных - это каких? 42 на 4 не делится, к примеру.

> не поверишь: для того, чтобы однозначно отобразить множество символов на множество чисел. а не для, бля, «синхронизации» и прочей поеботины. для этого придуманы протоколы.

Сюрприз: то что ты назвал это набор символов. Математическая абстракция, а не техническая спецификация. Кодировка определяет, как сериализовать символы. Кодировка это часть протокола(ов). (Хотя терминология, конечно, похую, речь о понятиях.) Для однобайтовых кодировок разницы особой нет, т.к. байт сейчас универсален.

> я живу во вселенной, где руками и ногами цепляются за костыли. видимо потому, что ноги атрофировались. однако же факт того, что 95% никак не отменяет мудачизма костылей.

Ты сам-то какую кодировку используешь?

> на последний пассаж отвечать и вовсе глупо.

Почему?

(Ответить) (Уровень выше)


(Читать комментарии) -