Копирование текста с 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.


Возможно ли иметь ссылку на эту страницу Youtube?
Леванс

Я использую Firefox 22 в 64-разрядной версии SP2 для Windows Vista. Но я только что попытался вставить в Google Chrome и все равно получаю ошибку 404.
Самир

@Levans Это "Ричард Столлман говорит о Ubuntu" от Muktware.
Самир


Извлеченный урок: мягкие дефисы противны! =)
Самир

Ответы:


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>&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 работал странно.
Леванс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.