LINUX.ORG.RU
ФорумTalks

При копировании в буфер обмена происходит полное копирование битов без какого-либо их изменения, оптимизации?

 ,


0

1

Например, из UTF16/32 в UTF8 - что кажется разумным шагом в плане оптимизации. Есть ли какие-то подобные встроенные механизмы, например, в Ubuntu, или любой другой системе? Или везде происходит полное копирование «как есть»?



Последнее исправление: letni (всего исправлений: 5)

А кто должен будет «деоптимизировать» буфер обратно? Клиент?

https://github.com/milki/xclip/blob/master/xclip.c

из UTF16/32 в UTF8

А ты в курсе, почему в популярных фреймворках и языках (Qt, Java) для внутреннего представления строк используется UTF-16, а не UTF-8? То же справедливо для операционных систем macOS и Windows.

http://stackoverflow.com/a/4655335/2467443

EXL ★★★★★
()

Но зачем? У тебя 640 КБ ОЗУ, что не хватает места для ТЕКСТОВОЙ информации?

KivApple ★★★★★
()
Ответ на: комментарий от EXL

А у меня в системе используется UTF-8 или UTF-16(например, для названий файлов/папок)? Как определить?

letni
() автор топика
Ответ на: комментарий от EXL

GNU/Linux? UTF-8.

Есть и другие варианты в GNU/Linux. У меня, например, в KOI8-R. И вся нативная консоль в KOI8-R. Копирую в буфер screen'а в KOI8-R и вставляю в этом же KOI8-R. Красота. Никакой напрасной траты памяти.

saahriktu ★★★★★
()
Ответ на: комментарий от EXL

Вы извините, но мне интересно: зачем использовать приставку «GNU»? Из дани уважения? Ведь и так понятно о чем речь, да и спутать не с чем.

letni
() автор топика
Ответ на: комментарий от letni

Как определить?

Командой

echo "$LANG" | sed 's/^.*\.//'
> echo "$LANG" | sed 's/^.*\.//'
KOI8-R

saahriktu ★★★★★
()
Ответ на: комментарий от letni

Собственная сборка на основе LFS'а. В т.ч. есть public release'ы такого варианта как Pisaahriktux: Релиз Pisaahriktux 1.0 (Desolate Universe) , Вышел Pisaahriktux 2.0 (Hara holkutuk) .

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Привет, Эдди. Давно тебя не видел.

Использование KOI8-R и Windows-1251 было оправдано на системах с < 64 RAM, но сейчас же, в большинстве случаев можно пренебречь небольшими накладными расходами памяти и производительности в угоду беспроблемной интернационализации приложений.

Как поведёт себя твоя нативная консоль в KOI8-R, если в ней сделать:

curl https://raw.githubusercontent.com/maxcom/lorsource/master/src/main/scala/ru/org/linux/auth/GalleryPermissionInterceptor.scala

Отобразятся ли стрелочки ⇒?

EXL ★★★★★
()
Ответ на: комментарий от saahriktu

Вот что еще хочу узнать(немного оффтоп, правда): Может ли быть получен текст с сайта в кодировке, отличной от указанной? Например: в ВК указан UTF-8, а я отпарвляю другу в KOI8-R, и ему приходит KOI8-R? Ну, это гипотетический пример, речь не о ВК.

letni
() автор топика
Ответ на: комментарий от letni

да и спутать не с чем

С самим ядром. Под GNU/Linux понимается обобщённое скопление всей братии дистрибутивов: Debian, Ubuntu и т. д.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Ну возможно так универсальней будет, да. Но в контексте было бы понятно.

letni
() автор топика
Ответ на: комментарий от EXL

Отобразятся ли в консоли с локалью KOI8-R юникодные символы? Да, как несколько разных символов. В данном случае: «Б┤▓».

А если бы я в своей нативной консоли включил локаль UTF-8 то вместо этого символа был бы «квадратик». Что лучше «неизвестно какой символ» или пучок не тех, но по которым можно понять что подразумевалось? Напоминаю, что PSF шрифты на уровне ядра ограничены в 64 Кб. Есть и другие ограничения. Для однобайтной локали хватает. А для юникода в этом смысле Linux ещё не готов.

saahriktu ★★★★★
()
Ответ на: комментарий от letni

Юзаю lynx. Он на лету конвертирует все кодировки. При открытии сайта в UTF-8 он выведет его в KOI8-R, но при заполнении формы в KOI8-R текст на сайт уйдёт в UTF-8. На сайт в KOI8-R текст так и уйдёт в KOI8-R. Зачем что-то ещё - непонятно. Для обмена текстами в любых кодировках существуют те же FTP'шники. А сообщения должны быть читабельны. Поэтому их приходится перекодировать и на уровне скриптов.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

А для юникода в этом смысле Linux ещё не готов.

Зато эмуляторы терминалов, которыми пользуется большинство: GNOME Terminal, Konsole, XFCE Terminal и др. отлично ладят с UTF-8.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Так то эмуляторы. Да ещё и для иксов. Нативная консоль лучше. Реализована в ядре, может работать через фреймбуфер, работает и жрать не просит,...

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

Ясно, спасибо.

Можете объяснить? Читал недавно про то как Столлман использует подобный текстовый браузер и недоумевал(ведь есть открытый Firefox, например). В них ведь юзабельность на уровень ниже, или я ошибаюсь? + сильная ограниченность в видах контента: Невозможно использовать медиаконтент, также в вики написано: «Не поддерживает таблицы HTML, фреймы HTML». Что вас привлекало в этом браузере?

letni
() автор топика
Ответ на: комментарий от saahriktu

Я не пытаюсь разжечь холивар или что-то подобное, мне искренне интересно. Просто мне кажется, или КПД с ними действительно выше и я что-то не понимаю, или это какая-то философия в виде «олдскул. юзаю только текстовый браузер и отказался от мяса иксов. нитакой как все». Скорее всего первое, т.к. делают это по моим наблюдениям люди неглупые, но и каких-то причин, почему КПД с таким браузером будет выше, я не вижу совершенно.

letni
() автор топика
Ответ на: комментарий от EXL

Зато работает как настоящий терминал. Полноэкранно. И всякие элементы отсутствующих иксов ничего не блокируют. Если уж сидишь в нативной консоли без иксов то и сидишь в нативной консоли без иксов.

saahriktu ★★★★★
()
Ответ на: комментарий от letni

Как раз таки удобство. lynx просто работает. А в случае чего легко сдампить текст с открытой страницы через 'p'. А больше мне ничего и не надо. Медиаконтент я обычно не смотрю. А если и смотрю, то скачиваю файлы и смотрю mplayer'ом или mpv.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

А если бы я в своей нативной консоли включил локаль UTF-8 то вместо этого символа был бы «квадратик»

Нет, не был бы. Я только что проверил.

kirk_johnson ★☆
()
Ответ на: комментарий от svr4

В шинде происходит как минимум декодирование из UTF в CP866 при копипиздинге в cmd.

В шинде уже UTF-16 если мне память не изменяет.

kirk_johnson ★☆
()
Ответ на: комментарий от letni

Так всё зависит от задач. Задачи могут требовать наличия иксов и браузера с JavaScript'ом и HTML5. И тогда человек так не может. А я могу. И нахожу это весьма удобным. Понадобился мануал? Сдампил его из интернета и сидишь дальше. В случае чего уже сохранённую документацию можно grep'нуть или почитать less'ом. Удобно.

saahriktu ★★★★★
()
Ответ на: комментарий от EXL

Да. Я и в 2007-м году, когда зарегистрировался на ЛОРе, сидел здесь из lynx'а.

saahriktu ★★★★★
()
Ответ на: комментарий от EXL

Я говорил про нативную консоль (и шрифт Terminus):

А если бы я в своей нативной консоли включил локаль UTF-8 то вместо этого символа был бы <<квадратик>>.
в своей нативной консоли

saahriktu ★★★★★
()
Ответ на: комментарий от EXL

Нативная консоль умеет работать и без фреймбуфера. Именно так я её и юзал в 2006-м году на i486DX4/12 Mb RAM/17" ЭЛТ монитор. Но, может работать и поверх фреймбуфера, да. И тогда её уже можно назвать нативной фреймбуферовской консолью, да.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

Ну вот видишь сколько ты людей ввёл в заблуждение выражением «нативная консоль». Тогда уж можно было сказать «консоль, реализованная в ядре».

EXL ★★★★★
()

Какой из буферов? В линуксе их минимум два + у DE есть свой диспетчер. Последний может и преобразовывать при необходимости.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от saahriktu

Прочитал щас о AALib. Вроде частично решает проблему с изображениями в Lynx. А вообще, для меня это как отказаться от благ цивилизации и уйти жить в леса.

letni
() автор топика
Ответ на: комментарий от EXL

Я с этим и не спорю. Но, её обычно так не называют, да и тут больше эмулируется _совместимость со стандартом_, а не text layer. В графической среде же text layer отсутствует по умолчанию. По умолчанию просто картинка пустого рабочего стола с которой ничего нельзя сделать. Чтобы что-то сделать нужно запускать дополнительный софт. В т.ч. эмулятор терминала, который и создаёт text layer.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

я не совсем понимаю проблему. в иксах терминал (и даже не один если что), работают на отлично. в чем проблема то? Что не закрывая текст можно еще и картинку глянуть? или что при необходимости можно еще и помышевозить? :)

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

Вот я тоже этого не понимаю. Видимо дело в философии.

letni
() автор топика
Ответ на: комментарий от mrdeath

Это аппаратный терминал. А «нативная консоль» - это дефолтный text layer. Как и в MS DOS'е. Только там реализация всего гораздо более примитивная.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

ЭТО — это и есть настоящий vt100, который эмулирует ваша «нативная консоль». MS-DOS — это, простите меня, конец 80х лет. Сейчас даже во всех телефонах есть графический режим.

mrdeath ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.