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

Вот пример ссылки, которую я нашел на 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.

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

введите описание здесь

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

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

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

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

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

Другие вопросы по тегам