Что за символ в тексте n
Перейти к содержимому

Что за символ в тексте n

Управляющие символы \n \t и прочие

Время от времени в коде вы можете встретить символы типа \n , \r , \t и прочие.

Например, посмотрите что будет, если исполнить следующий код:

 print('раз\tдва\tтри\nuno\tdos\ttres')

# раз два три
# uno dos tres

Можно заметить, что вместо \t у нас появился отступ, а вместо \n переход на новую строку.
Символы вроде \t и \n — это управляющие символы, они управляют выводом, например модифицируют его.

Вот некоторые управляющие символы и их смысл:

\n (newline) перевод каретки на следующую строку
\r (return) перевод каретки на в начало текущей строки
\t (tab) табуляция (отступ, красная строка)
\b (backspace) перевод каретки на один символ назад

На заметку

В качестве разделителя строк в разных системах могут использоваться разные последовательности. Например, в Windows строки разделяются при помощи \r\n , а в Unix при помощи \n .

Таблица символов ЮНИКОДА для сайтов

На выдаче в сниппете и Title могут отображаться специализированные символы, знаки, буквы и цифры. Использовать их можно для оригинального оформления SEO-блоков. Только следует учитывать, что применение символов и необычных знаков должно быть продуманным и обоснованным. Иначе сниппет или тайтл может выглядеть нелепо, совершенно не справляясь с поставленными задачами. Поисковые системы по-разному реагируют на использование символов, смайликов, стрелочек, необычных знаков. Рекомендуем протестировать их, чтобы убедиться в правильности отображения в выдаче.

Как использовать Unicode символы

  • Найти нужный значок;
  • Скопировать его;
  • Вставить в нужное место в тексте.

Наиболее популярные символы

Чаще всего для выдачи применяют символы рубля и валют, серп и молот, а также инь и янь.

Российский рубль: U+20BD (в Юникоде) и ₽ (в HTML-коде)

Нумерация, буквы, числа в Юникод

  • ⓿ ❶ ❷ ❸ ❹ ❺ ❻ ❼ ❽ ❾ ❿ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴
  • ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇
  • ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
  • Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ
  • ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛
  • ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪
  • ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵

Колбочки, стрелочки, квадратики

  • ◜ ◝ ◞ ◟ ◠ ◡
  • ◰ ◱ ◲ ◳ ◴ ◵ ◶ ◷
  • ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ■
  • ◸ ◹ ◺ ◻ ◼ ◽ ◾ ◿
  • ► ▻ ▼ ▽ ▾ ▿ ◀ ◁ ◂ ▻
  • □ ▢ ▣ ▪ ▫ ▬ ▭ ▮ ▯ ▰ ▱ ▤ ▥ ▦ ▧ ▨ ▩
  • ▲ △ ▴ ▵ ▶ ▷ ▸ ▹ ► ▻
  • ◢ ◣ ◤ ◥
  • ◆ ◇ ◈ ◉ ◊ ○ ◌ ◍ ◎
  • ● ◐ ◑ ◒ ◓ ◔ ◕
  • ◧ ◨ ◩ ◪ ◫
  • ◖ ◗ ◘ ◙ ◚ ◛
  • ◦ ◬ ◭ ◮ ◯

Крестики, черточки, палочки в UNICODE

  • ▁ ▂ ▃ ▄ ▅ ▆ ▇ █
  • ▌ ▍ ▎ ▏ ▐
  • ▀ ▉ ▊ ▋
  • ─ ━ │ ┃
  • └ ┕ ┖ ┗ ┘ ┙ ┚ ┛
  • ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋
  • ░ ▒ ▓ ▔ ▕
  • ┌ ┍ ┎ ┏ ┐ ┑ ┒ ┓
  • ╭ ╮ ╯ ╰ ╱ ╲ ╳
  • ├ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫
  • ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿
  • ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻
  • ┬ ┭ ┮ ┯ ┰ ┱ ┲ ┳
  • ┼ ┽ ┾ ┿ ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋
  • ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬
  • ╘ ╙ ╚ ╛ ╜ ╝
  • ╌ ╍ ╎ ╏ ═
  • ║ ╞ ╟ ╠ ╡ ╢ ╣
  • ╒ ╓ ╔ ╕ ╖ ╗

Фигурные символы

Используются специальные символы:

  • ⟨ ⟩ ⟪ ⟫ ⟰ ⟱
  • ❍ ❏ ❐ ❑ ❒
  • ✔ ✕ ✖ ✗ ✘
  • ☀ ☁ ☂ ☃ �� ☄ ★ ��
  • ☢ ☣ ☯ ☮ ☣ ☬ ☪
  • ☆ ☇ ☈ ☉ ☊ ☋ ☌ ☍
  • ☡ ☢ ☣ ☤ ☥ ☧ ☨ ☩ ☪
  • ☎ ☏ ☐ ☑ ☒
  • ⟦ ⟧ ⟲ ⟳ ⟴ ⟵
  • ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡
  • ☓ ☔ ☕ ☖ ☗ ☘ ☙
  • ☚ ☛ ☜ ☝ ☞ ☟ ☠ ☫ ☬
  • ✆ ✇ ✈ ✉ ✌ ✍ ✎ ✏ ✐ ✑
  • ➲ ➳ ➴ ➵ ➶ ➷ ➸
  • ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷
  • ☭ ☮ ☯ ♮ ♯ ♰ ♱
  • ➱ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➔
  • ❁ ❂ ❃ ❄ ❅ ❆ ❇ ❈ ❉ ❊ ❋
  • ✁ ✂ ✃ ✄ ✒ ✓ ☦
  • ✫ ✬ ✭ ✮ ✯ ✰
  • ✝ ✞ ✟ ✠ ✡✢ ✣ ✤ ✥
  • ✡ 〄 ♨ ☸ ⌘
  • ✱ ✲ ✳ ✴ ✵ ✶ ✷ ✸ ✹ ✺ ✻ ✼ ✽ ❀
  • ✙ ✚ ✛ ✾ ✿ ✜ ✦ ✧ ✩ ✪
  • ➹ ➺ ➻ ➼ ➽ ➾
  • ❖ ❡ ❢ ❣ ❤ ❥ ❦ ❧ ❘ ❙ ❚ ❛ ❜ ❝ ❞ �� ➿ ⟠ ⟡

Римские числа

Шахматные фигуры и ноты

Используются следующие символы:

  • ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟ ♠
  • ♩ ♪ ♫ ♬ ♭ ♮ ♯
  • ♡ ♢ ♣ ♤ ♥ ♦ ♧

Математические символы и обозначения в физике по UNICODE

Греческие буквы и другие алфавиты

ᴀ ᴁ ᴂ ᴃ ᴄ ᴅ ᴆ ᴇ ᴈ ᴉ ᴊ ᴋ ᴌ ᴍ ᴎ ᴏ ᴐ ᴑ ᴒ ᴓ ᴔ ᴕ ᴖ ᴗ ᴘ ᴙ ᴚ ᴛ ᴜ ᴝ ᴞ ᴟ ᴠ ᴡ ᴢ ᴣ ᴤ ᴥ ᴦ ᴧ ᴨ ᴩ ᴪ ᴫ ᴬ ᴭ ᴮ ᴯ ᴰ ᴱ ᴲ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴻ ᴼ ᴽ ᴾ ᴿ ᵀ ᵁ ᵂ ᵃ ᵄ ᵅ ᵆ ᵇ ᵈ ᵉ ᵊ ᵋ ᵌ ᵍ ᵎ ᵏ ᵐ ᵑ ᵒ ᵓ ᵔ ᵕ ᵖ ᵗ ᵘ ᵙ ᵚ ᵛ ᵜ ᵝ ᵞ ᵟ ᵠ ᵡ ᵢ ᵣ ᵤ ᵥ ᵦ ᵧ ᵨ ᵩ ᵪ ᵫ ᵬ ᵭ ᵮ ᵯ ᵰ ᵱ ᵲ ᵳ ᵴ ᵵ ᵶ ᵷ ᵸ ᵹ ᵺ ᵻ ᵼ ᵽ ᵾ ᵿ ᶀ ᶁ ᶂ ᶃ ᶄ ᶅ ᶆ ᶇ ᶈ ᶉ ᶊ ᶋ ᶌ ᶍ ᶎ ᶏ ᶐ ᶑ ᶒ ᶓ ᶔ ᶕ ᶖ ᶗ ᶘ ᶙ ᶚ ᶛ ᶜ ᶝ ᶞ ᶟ ᶠ ᶡ ᶢ ᶣ ᶤ ᶥ ᶦ ᶧ ᶨ ᶩ ᶪ ᶫ ᶬ ᶭ ᶮ ᶯ ᶰ ᶱ ᶲ ᶳ ᶴ ᶵ ᶶ ᶷ ᶸ ᶹ ᶺ ᶻ ᶼ ᶽ ᶾ ᶿ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ⍳ ⍴ ⍵ ⍶ ⍷ ⍸ ⍹ ⍺

Перевод строки

Символ U+000A известен, как символ Перевода строки LF (Line Feed) или Символ новой строки NL (New Line). Он был разработан для обозначения конца строки текста и перехода на новую строку в текстовых документах, компьютерных терминалах и системах обработки текста. Перевод строки проворачивает барабан принтера на одну строку. На видеотерминале перемещает курсор вниз и, если необходимо, прокручивает изображение.

В контексте компьютерных терминалов и текстовых редакторов, символ перевода строки используется для перемещения курсора на начало следующей строки. Он является стандартным способом обозначения конца строки в UNIX-подобных операционных системах, включая Linux и macOS.

Однако стоит отметить, что в операционных системах семейства Windows для обозначения конца строки используется комбинация символов ␍ Возврат каретки (Carriage Return) и ␊ Перевод строки (Line Feed), представленная как «\r\n»

В первых телетайпах, работавших со скоростью в единицы бод, разделение управляющих символов на CR Возврат каретки и LF Перевод строки скрывало тот факт, что отведённая далеко вправо каретка могла и не успеть к появлению очередного символа, так как понятий «драйвер» и «буферизация» ещё не было.

В азбуке Морзе использовался разделитель −•••− мнемоника BT (Break Text).

Как и остальные управляющие символы, этот символ не имеет визуального представления и не занимает места на экране или в печати. В разделе

Пиктограммы управляющих символов  2400–243F есть два отдельных символа, представляющих графическое изображение символа U+000A: символ перевода строки в виде аббревиатуры LF (Line Feed) — ␊ и символ новой строки в виде аббревиатуры NL (New Line) — ␤ .

Символ является одним из восьми управляющих символов, обязательного наличия которых требует стандарт POSIX:

  • \0 ␀Нулевой символ ;
  • \a ␇Звуковой сигнал ;
  • \b ␈Возврат на шаг ;
  • \t ␉Горизонтальная табуляция ;
  • \n ␊Перевод строки ;
  • \v ␋Вертикальная табуляция ;
  • \f ␌Смена страницы ;
  • \r ␍Возврат каретки .

Символ «Перевод строки» входит в подраздел «Управляющие символы C0» раздела «Основная латиница» и был утвержден как часть Юникода версии 1.1 в 1993 г.

Этот текст также доступен на следующих языках: English;

Синонимы

новая строка, разделитель строк.

Строки — Основы JavaScript

С первыми двумя все понятно, это точно строки, мы уже работали с подобными конструкциями и говорили, что строки – это наборы символов.

Любой одиночный символ в кавычках — это строка. Пустая строка » — это тоже строка. То есть строкой мы считаем все, что находится внутри кавычек, даже если это пробел, один символ или вообще отсутствие символов.

Ранее в уроках мы записывали строки в одинарных кавычках, но это не единственный способ. Можно использовать и двойные:

// Стандарт кодирования airbnb, рекомендует // использовать, по возможности, одинарные console.log('Dracarys!'); 

Представьте, что вы хотите напечатать строчку Dragon’s mother. Апостроф перед буквой s — это такой же символ, как одинарная кавычка. Попробуем:

console.log('Dragon's mother'); // Uncaught SyntaxError: missing ) after argument list 

Такая программа не будет работать. С точки зрения JavaScript, строка началась с одинарной кавычки, а потом закончилась после буквы n. Дальше были символы s mother без кавычек — значит, это не строка. А потом была одна открывающая строку кавычка, которая так и не закрылась: ‘); . Этот код синтаксически некорректен (это видно даже по тому, как подсвечен код).

Здесь нам помогут двойные кавычки. Такой вариант программы отработает корректно:

console.log("Dragon's mother"); 

Теперь интерпретатор знает, что строка началась с двойной кавычки — значит, и закончиться должна на двойной кавычке. А одинарная кавычка внутри стала частью строки.

Верно и обратное. Если внутри строки мы хотим использовать двойные кавычки, то саму строку надо делать в одинарных. Причем количество кавычек внутри самой строки не важно.

А что, если мы хотим создать такую строку:

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

Для этого экранируют специальные символы. В нашем случае тот символ, который является признаком конца и начала строки, это либо одинарная кавычка, либо двойная, в зависимости от ситуации. Для экранирования используется обратный слеш \ .

// Экранируется только ", так как в этой ситуации // двойные кавычки имеют специальное значение console.log("Dragon's mother said \"No\""); // => Dragon's mother said "No" 

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

// Обратный слеш `\` не выводится, если после него идет обычный символ, // а не специальный console.log("Death is \so terribly final, while life is full of possibilities"); // => Death is so terribly final, while life is full of possibilities 

А что, если нужно вывести сам обратный слеш? Точно так же, как и любой другой специальный символ, его надо экранировать самим собой.

console.log("\\"); // => \ 

Вопрос на самопроверку, что выведет этот код?

console.log("\\ \\ \\\\ \\\ \'\""); 

Экранирующие последовательности

Мы хотим показать диалог Матери Драконов со своим ребенком:

Если вывести на экран строку с таким текстом:

console.log('- Are you hungry?- Aaaarrrgh!'); 

то получится так:

Не то, что мы хотели. Строки расположены друг за другом, а не одна ниже другой. Нам нужно как-то сказать интерпретатору «нажать на энтер» — сделать перевод строки после вопросительного знака. Это можно сделать, используя символ перевода строки: \n .

console.log('- Are you hungry?\n- Aaaarrrgh!'); 

\n — это специальный символ. В литературе его часто обозначают как LF (Line Feed). Возможно вы сейчас подумали, что это опечатка, ведь здесь мы видим два символа \ и n , но это не так. С точки зрения компьютера — это один невидимый символ перевода строки. Доказательство:

// Мы это не изучали, но вы должны знать правду // Ниже код, который возвращает длину строки 'a'.length; // 1 '\n'.length; // 1 . '\n\n'.length; // 2 . 

Почему так сделано? \n — всего лишь способ записать символ перевода строки, но сам перевод строки по своему смыслу – это один символ, правда, невидимый. Именно поэтому и возникла такая задача. Нужно было как-то представить его на клавиатуре. А поскольку количество знаков на клавиатуре ограничено и отдано под самые важные, то все специальные символы реализуются в виде таких обозначений.

Символ перевода строки не является чем-то специфичным для программирования. Все, кто хоть раз печатал на компьютере, использовал перевод строки, нажимая на Enter. Во многих редакторах есть опция, позволяющая включить отображение невидимых символов — с ее помощью можно понять, где они находятся (хотя это всего лишь схематичное отображение, у этих символов нет графического представления, они невидимые):

Устройство, которое выводит соответствующий текст, учитывает этот символ. Например, принтер при встрече с LF протаскивает бумагу вверх на одну строку, а текстовый редактор переносит весь последующий текст ниже, также на одну строку.

\n — это пример экранирующей последовательности (escape sequence). Их еще называют управляющими конструкциями. Хотя таких символов не один десяток, в программировании часто встречаются всего несколько. Кроме перевода строки, к таким символам относятся табуляция (разрыв, получаемый при нажатии на кнопку Tab) и возврат каретки (только в Windows). Нам, программистам, часто нужно использовать перевод строки \n для правильного форматирования текста.

console.log('Gregor Clegane\nDunsen\nPolliver\nChiswyck'); 

На экран выведется:

Обратите внимание на следующие моменты:

  1. Не имеет значения, что стоит перед или после \n : символ или пустая строка. Перевод будет обнаружен и выполнен в любом случае.
  2. Помните, что строка может содержать один символ или вообще ноль символов. А еще строка может содержать только \n . Проанализируйте следующий пример:

console.log('\n'); console.log('Dunsen'); // => // => // => Dunsen 

Здесь мы сначала выводим строку «перевод строки», а потом делаем вывод обыкновенной строки. Почему перед строкой Dunsen появилось две пустые строки, а не одна? Дело в том, что console.log() при выводе значения автоматически добавляет в конец символ перевода строки. Таким образом, один перевод строки мы указали явно, передав этот символ экранирующей последовательности аргументом в функцию, а второй перевод строки добавлен самой функцией автоматически. Еще пример кода:

console.log('Polliver'); console.log('Gregor Clegane'); console.log(); console.log('Chiswyck'); console.log('\n'); console.log('Dunsen'); // => Polliver // => Gregor Clegane // => // => Chiswyck // => // => // => Dunsen 
console.log('Joffrey loves using \\n'); // => Joffrey loves using \n 

Небольшое, но важное замечание про Windows. В Windows для перевода строк по умолчанию используется \r\n . Такая комбинация хорошо работает только в Windows, но создает проблемы при переносе в другие системы (например, когда в команде разработчиков есть пользователи как Windows, так и Linux). Дело в том, что последовательность \r\n имеет разную трактовку в зависимости от выбранной кодировки (рассматривается позже). По этой причине, в среде разработчиков принято всегда использовать \n без \r , так как LF всегда трактуется одинаково и отлично работает в любой системе. Не забудьте настроить ваш редактор на использование \n .

Конкатенация

В веб-разработке программы постоянно оперируют строками. Все, что мы видим на сайтах, так или иначе представлено в виде текста. Этот текст чаще всего динамический, то есть полученный из разных частей, которые соединяются вместе. Операция соединения строк в программировании называется конкатенацией.

// Оператор такой же, как и при сложении чисел // но здесь он имеет другой смысл (семантику) console.log('Dragon' + 'stone'); // => Dragonstone 

Склеивание строк всегда происходит в том же порядке, в котором записаны операнды. Левый операнд становится левой частью строки, а правый — правой.

Вот еще несколько примеров:

console.log('Kings' + 'wood'); // => Kingswood // Обратный порядок слов console.log('road' + 'Kings'); // => roadKings // Конкатенировать можно абсолютно любые строки console.log("King's" + 'Landing'); // => King'sLanding 

Как видите, строки можно склеивать, даже если они записаны с разными кавычками.

В последнем примере название города получилось с ошибкой: King’s Landing нужно писать через пробел. Но в наших начальных строках не было пробелов, а пробелы в самом коде слева и справа от символа + не имеют значения, потому что они не являются частью строк.

Выхода из этой ситуации два:

// Оба способа равнозначны // Ставим пробел в левой части console.log("King's " + 'Landing'); // => King's Landing // Ставим пробел в правой части console.log("King's" + ' Landing'); // => King's Landing 

Пробел — такой же символ, как и другие. Чем больше пробелов, тем шире отступы:

console.log("King's " + ' Landing'); // => King's Landing console.log("King's " + ' Landing'); // => King's Landing 
Дополнительные материалы
  1. REPL для экспериментов
  2. Шаблонные строки
  3. История перевода строки
  4. Что такое кодировки?

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

  • Статья «Как учиться и справляться с негативными мыслями»
  • Статья «Ловушки обучения»
  • Статья «Сложные простые задачи по программированию»
  • Урок «Как эффективно учиться на Хекслете»
  • Вебинар « Как самостоятельно учиться »

Открыть доступ

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

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *