Копирование текста с YouTube в буфер обмена вводит черточки?

3

Вот пример ссылки, которую я нашел на YouTube в разделе комментариев видео.

gnu.org/distros/free-distros.h­tml

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

Если я выделю эту ссылку и скопирую в буфер обмена (ctrl + c), затем перейду на новую вкладку браузера и вставлю ее (ctrl + v) в адресную строку, тогда она будет отображаться.

gnu.org/distros/free-distros.h­tml

Это выглядит так же, верно? Но если я нажимаю Enter, я получаю ошибку.

404 Страница не найдена

Не удалось найти страницу, которую вы искали, на веб-сервере GNU.

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

URL-адрес также меняется на следующий.

http://www.gnu.org/distros/free-distros.h%C2%ADtml%EF%BB%BF

Если я удаляю %C2%ADtml%EF%BB%BFи печатаю tml, чтобы вернуть адрес, http://www.gnu.org/distros/free-distros.htmlа затем нажимаю Enter, хорошо, теперь это работает, и страница загружается.

Я подумал про себя, что это очень странно, поэтому я попытался вставить тот же текст из буфера обмена в простой текстовый редактор (блокнот), и это то, что я получил.

gnu.org/distros/free-distros.h­-tml

Как появилась черта между h и tml ? Вот почему я получаю ошибку 404. Но URL-адрес отображается правильно при вставке в адресную строку. Возможно, это какой-то скрытый персонаж?

Кроме того, если я вернусь на YouTube и выделю ссылку, я вижу, что на последних трех буквах есть выпуклость. Выделение выше вокруг "tml". Вы можете видеть это на снимке экрана ниже.

screen1

screen2

Почему это происходит? В чем дело? Может быть, Google каким-то образом намеренно солит ссылку?

Обновить

Если я вставляю в Notepad ++ (версия 6.3), я получаю следующее.

gnu.org/distros/free-distros.h­tml?

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

SCREEN3

Это не пробел. Это что-то еще ... что-то чужое! Что-то с планеты X?

Примечание. Вертикальная линия в конце - это не та, о которой я говорю, а мигание курсора ввода текста.

Обновление 2

Проверка HTML-кода в Firefox с помощью инструмента проверки элементов.

screen4

Почему внутри открывающего тега wbr есть квадрат?

Обновление 3

«Квадрат» выглядит как объект с мягким дефисом. Здесь следует фактический исходный код этой конкретной строки.

<p>gnu.org/distros/free-distros.h<wbr>&shy;tml</p>

Мягкий дефис - это &shy;то, что вы видите здесь. HTML-теги, такие как или т. Е. Для полужирного текста, недоступны для выбора. Когда вы выделяете текст веб-страницы в браузере, вы не выбираете теги HTML. Ничего внутри <>не показано.

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

Обновление 4

Вот как это выглядит, когда я вставляю URL в Microsoft Word 2010 и просматриваю скрытые символы.

screen5

Для перемещения текстового курсора с .|htmlна .ht|mlтребуется три раза нажать клавишу со стрелкой. Вы можете сказать по изображению выше, почему это так. Это из-за этого скрытого персонажа. Когда курсор находится перед этим странно выглядящим символом, нажатие Alt + X показывает 0068. Если курсор находится позади этого символа и перед буквой T, то вообще ничего не открывается. 0068 - это просто кодовая страница Unicode для буквы H.

Samir
источник
Возможно ли иметь ссылку на эту страницу Youtube?
Леванс
Я использую Firefox 22 в 64-разрядной версии SP2 для Windows Vista. Но я только что попытался вставить в Google Chrome и все равно получаю ошибку 404.
Самир
@Levans Это "Ричард Столлман говорит о Ubuntu" от Muktware.
Самир
@Levans youtu.be/CP8CNp-vksc
Самир
Извлеченный урок: мягкие дефисы противны! =)
Самир

Ответы:

2

Да, это неприятность.

Есть два hipshen Нормальный и смешной. Забавный иногда используется в комментариях к YouTube. и появляется как скрытый.

Вставьте в блокнот (чтобы удалить форматирование), а также, блокнот показывает его, а затем в MS Word (или просто в Ms Word вставьте специальный ... неформатированный Unicode), поместите курсор справа от дефиса или любого символа, и нажмите ALT-x, и вы увидите ASCII или код Unicode для него.

Это может показаться странным. Имейте в виду, что есть несколько персонажей двух разных типов. Тип, который вы используете, обычно находится в диапазоне 0-7F, а люди, тип которых обычно не используют много или вообще, это> 7F. Два типа пробелов (нормальный и другой, называемый неразрывным пробелом, ascii code 160 \ uA0, который может быть полезен). Существует два типа каналов 7C и A6. A6 просто запрашивает проблемы, так как вызывает сбои в командной строке. И два типа переносов, второй, который вы видите, тоже ведут себя забавно, так как комментарии в YouTube иногда используют его, скрывают и не отображают как переносы.

Я вижу еще один забавный символ, который используется YouTube в комментариях: \ uFEFF. Вы можете запустить notepad2 (скачать его), выбрать файл..encoding..UTF-8, затем вставить текст и найти \ uFEFF, заменяя его ничем, ( поставьте галочку в окошке с надписью transform).

Точно так же вы можете открыть notepad2, найти \ u00AD (этот смешной хайфен) и заменить его обычным хейфеном. Может быть, это можно сделать и без Editpad, хотя я использую Pro версию для поддержки регулярных выражений.

Я бы отметил, что charmap неправильно копирует смешной хайфен. (Так что, если вы хотите поэкспериментировать, и вы выбираете скопировать и вставить его в программный продукт, и он показывает забавную карту вины), но он прекрасно копирует (как в случае с персонажем) по вашей ссылке в моем браузере (Chrome). Лучше, если персонаж не был там, хотя это неприятность! Но вы можете увидеть его в Ms Word, а также найти и удалить его в notepad2.

Вы видите из charmap, что он (\ u00AD) называется "soft Hiphen" (я просто рад, что они не переносили этот заголовок!)

На картинке я использовал Ms Word и сделал ALT-x

введите описание изображения здесь

barlop
источник
Я смотрю на исходный код сейчас и вижу <p>gnu.org/distros/free-distros.h<wbr>&shy;tml</p>. Итак, причина, по которой мы получаем эту проблему, из-за мягкого дефиса, а не из-за тега wbr?
Самир
ascii.cl/htmlcodes.htm Hex AD, & shy Это & shy; это мягкий хифен (странный хайфен!), который является проблемой. И & застенчивый; прямо в html, который вы там цитировали
barlop
Если вы посмотрите на источник в chrome для вашего вопроса, где вы указали ошибочную ссылку, то вместо & shy; внутри букв html буквально есть мягкий хайфен, но для него ничего не отображается, например, вставьте его в строку URL, чтобы в режиме редактирования типа, и наведите на него курсор. И если вы проведете курсором по нему (с помощью клавиш со стрелками), вы увидите, что между h и t html появляется забавный символ. Однажды я экспериментировал с этими вещами, вы можете поместить в них тонны этих персонажей последовательно, которые появляются в одной программе, но в другой не занимают места.
Бароп
Вы потеряли меня. Определите «режим редактирования типа». Я попытался вставить в MS Word 2010 и вижу, что мне нужно нажать клавишу со стрелкой три раза, чтобы переместить текстовый курсор из .|htmlв .ht|ml. Достаточно нажать два раза, чтобы переместить курсор на два шага. Это потому, что там есть скрытый персонаж.
Самир
Кроме того, когда курсор находится перед символом t (.h | tml), Alt + X не показывает код ASCII в MS Word. Но я вижу это, просматривая скрытые символы в Word (см. Снимок экрана выше).
Самир
2

Глядя на исходный код этой части страницы, я вижу это:

<p>gnu.org/distros/free-distros.h<wbr>­tml</p>

Кажется, что YouTube автоматически вставил <wbr>тег. Это возможность разбить слово , оно сообщает браузеру, что при необходимости слово может быть разбито для вставки новой строки.

На страницах в кодировке UTF-8 это отображается как ZERO-WIDTH SPACE, ничего не показывая, но разрешая перевод строки. Вот что является причиной вашей проблемы с кодировкой.

Похоже, что на YouTube есть алгоритм для автоматической вставки <wbr>длинных слов в хорошие места (без разрезания слога на две части), но так как http://он отсутствовал в начале URL, алгоритм не распознал его как таковой, и, таким образом, Предполагается, что это слово может быть сломано.

Леванс
источник
Но нет разрыва строки? Черта не видна на ютубе? Только когда скопировать и вставить?
Самир
Нет разрыва строки, потому что это не нужно для отображения содержимого, но невидимый символ все еще здесь. Тире на копировании-вставке, вероятно, является результатом плохой трансляции кодирования с UTF-8той, что используется в Windows, в то время как URL транслируется в кодировку URL, что также дает плохие результаты. И я что-то пропустил, <wbr>не должен вставлять -. Я исправлю
Леванс
Почему внутри открывающего тега wbr есть пунктирный квадрат? Смотрите снимок экрана выше. Разве это не должно просто сказать "<wbr>" и ничего больше? Я бы описал выше, как "<wbr?>", Где? отмечает положение этого странно выглядящего квадратного персонажа. Вот что я вижу, когда проверяю элемент внутри Firefox. Я имею в виду, что только wbr не должен вызывать эту проблему, верно?
Самир
Правильно, «элемент <wbr> не вводит дефис в точке разрыва строки».
Самир
@Sammy Действительно, я посмотрел немного больше, и кажется, что кодировка этого URL довольно испорчена, и это, вероятно, заставило Youtube вставить <wbr>. Вероятно, у того, кто его опубликовал, была проблема с кодировкой на его собственном компьютере, из-за которой http://алгоритм Youtube работал странно.
Леванс