Однажды я проиграл день одному символу. Имя пользователя и №39; содержало букву с акцентом, оно выглядело хорошо в базе данных, сломалось в PDF-экспорте и появилось в виде пары вопросительных знаков в журнале. Исправление было тривиальным, когда я увидел фактическую кодовую точку позади глифа, но попадание туда означало три разных инструмента и много щуря. Вот трения, которые я создал конвертер unicode во время Toolz.dev чтобы удалить: вставить любой текст и увидеть, из чего именно он сделан, в каких бы обозначениях ни захотела работа перед вами, и декодировать любую из этих обозначений обратно в читаемый текст Это руководство к нему и к символьной кодировке, которую он раскрывает.
TL;DR: Каждый символ имеет кодовую точку Юникода, число, написанное как U+0041 для A. The Toolz конвертер unicode превращает текст в эту кодовую точку плюс десятичные, шестнадцатеричные объекты HTML (A и A), JavaScript ускользает (A), а CSS ускользает (\41) и декодирует любой из них обратно в текст. Он обрабатывает смайлы и другие астральные символы по истинному кодовому пункту, поэтому они правильно перемещаются туда и обратно, показывают таблицу для каждого символа с байтами UTF-8 и запускаются полностью на стороне клиента, поэтому ваш текст никогда не покидает браузер.
Что такое преобразователь Unicode?
Преобразователь Unicode переводит между прочитанным текстом и числами, которые компьютер хранит для него. каждому символу, от простой латинской буквы до китайского идеографа и смайлика, присваивается кодовая точка стандарт Юникода, и эта кодовая точка обычно записывается в форме U+, за которой следуют четыре-шесть шестнадцатеричных цифр: U+0041 для заглавной буквы A, U+00E9 для é, U+4E16 для の, U+1F30D для смайликов земли. конвертер читает все, что вы вводите, и показывает кодовую точку за каждым символом, а затем позволяет выразить ту же самую кодовую точку в любой из обозначений, которые ожидают разные языки и форматы.
Причина, по которой одна кодовая точка имеет так много письменных форм, заключается в том, что в разных контекстах действуют разные правила экранирования. HTML-документ использует ссылки на символы, например A в десятичном или A в шестнадцатеричном. Используется строка JavaScript A, или \u{1F30D} для символов за пределами базового диапазона. используется значение CSS \41 с конечным пространством Спецификация, отчет об ошибке или диаграмма Юникода используют форму U+. Все они указывают на один и тот же символ; они просто носят разную одежду в зависимости от того, где они живут. инструмент производит все из них из одного ввода и переворачивает любой из них, поэтому вам никогда не нужно запоминать, какой синтаксис хочет данный файл, или перепечатывать сложный символ вручную.
Что такое кодовая точка Unicode и чем она отличается от UTF-8?
Это различие, которое проясняет большую часть путаницы кодирования, поэтому стоит быть точным Кодовая точка - это абстрактное число, которое идентифицирует символ. Оно ничего не говорит о том, как это число хранится в памяти или отправляется по проводу. UTF-8 - это один из конкретных способов кодирования кодовой точки как последовательности байтов, определенных в РФК 3629. Эти два понятия связаны, но не одно и то же, и их смешивание является корнем многих " почему мой текст искажен и цитируется; ошибки.
Возьмите é, кодовую точку U+00E9.В качестве кодовой точки это единичное число, 233 в десятичном формате. в UTF-8 он хранится как два байта, C3 A9. В UTF-16 это одна 16-битная единица. Символ - это одно; его представление байтов зависит от кодировки. Таблица для каждого символа в конвертере показывает и кодовую точку, и UTF-8 байтов рядом, поэтому, когда вы видите имя, которое отображается как é вместо é, вы можете сразу распознать классический симптом: UTF-8 байты читаются так, как если бы они были однобайтовой кодировкой, как Latin-1. Видеть байты часто является самым быстрым способом диагностировать несоответствие кодировки.
Вот небольшая карта одного символа в обозначениях, которые создает инструмент.
| Обозначение | Значение для é (U+00E9) |
|---|---|
| Кодовый пункт | U+00E9 |
| десятичный | 233 |
| гекс | 0xE9 |
| Десятичный объект HTML | é |
| Шестнадцатеричный объект HTML | é |
| JavaScript-эскейп | э |
| Побег CSS | \Е9 |
| UTF-8 байт | С3 А9 |
Как конвертировать текст в Юникод?
Выберите "Кодировать", выберите нужные обозначения, введите или вставьте текст. The конвертер unicode немедленно показывает закодированный вывод и заполняет таблицу для каждого символа с кодовой точкой, десятичным значением, сущностью HTML и байтами UTF-8 для каждого глифа. Скопируйте вывод и добавьте его в свой HTML, таблицу стилей, сценарий или документ.
Четыре шага быстрые Сначала выберите Кодировать, чтобы перейти от текста к нотации, или Декодировать, чтобы пойти другим путем. во-вторых, выберите формат: кодовая точка, десятичная, шестнадцатеричная, HTML-объект, JavaScript escape или CSS escape, а для декодирования есть автоматический режим, который обнаруживает общие формы для вас. в-третьих, введите свой текст и посмотрите, как он конвертируется. в-четвертых, скопируйте результат. нет загрузки и нет учетной записи.
Преобразование в объекты HTML является одним из наиболее распространенных применений и пересекается со специальными сущности html инструмент, который фокусируется на названных сущностях, таких как & а ©, йо- выше руководство по объектам HTML охватывает, когда именованный объект является правильным выбором, а когда числовой является. Этот преобразователь дополняет его, предоставляя вам представление с точки зрения числового кода любого символа, названного или нет.
Правильно ли он обращается с эмодзи?
Да, и это где много более простых преобразователей тихо производят нарушенный вывод Символы выше U+FFF живут в том, что Unicode называет дополнительными плоскостями, и JavaScript хранит каждый из них внутри как две 16-битные единицы кода, называемые суррогатной парой, Если конвертер наивно ходит по строке по одной единице кода за раз, он разделяет эмодзи на две половины и излучает два бессмысленных выхода, которые никогда не будут заново собираться в исходный символ.
Этот инструмент итерируется истинной кодовой точкой, поэтому смайлик, подобный земле (U+1F30D), рассматривается как один символ на протяжении всего процесса. закодируйте его, и вы получите единственное чистое значение: \u{1F30D} в форме JavaScript ES6, 🌍 как объект HTML, U+1F30D как кодовая точка. декодируйте любой из них, и исходный смайлик возвращается целиком. при декодировании JavaScript старого стиля ускользает, которые были записаны как суррогатные пары, 🌍, инструмент объединяет половины правильно, а не оставлять вас с двумя сломанными кодовыми единицами. Round-tripping эмодзи через конвертер дает вам обратно точно то, с чего вы начали, а именно базовый тест инструмент Юникод должен пройти, и многие из них терпят неудачу.
Как декодировать Unicode, вернуться к тексту?
Переключитесь на декодирование, вставьте закодированную строку и либо выберите соответствующий формат, либо оставьте его на автоматическом. Автоматический режим распознает обозначение U+, \u а \u{} JavaScript сбегает, и &# а &#x Сущности HTML в одном входе, поэтому смешанная вставка из журнала или файла конфигурации все еще декодирует. Если вы знаете точный формат, выбор непосредственно является наиболее надежным вариантом, особенно для десятичного или простого шестнадцатеричного числа, где в противном случае голые числа могли бы быть неоднозначными.
Декодирование - это половина работы, к которой вы выполняете, когда находитесь на стороне приема закодированного текста: полезная нагрузка JSON, полная \u экранирует, представление источника HTML, пронизанное числовыми сущностями, трассировка стека, которая зарегистрировала строку в экранированной форме. Вместо того, чтобы вручную декодировать символ за символом, вы вставляете все это и читаете обычный текст обратно. Конвертер реконструирует исходные символы и, как отмечалось выше, правильно воссоединяется со всеми суррогатными парами, с которыми он сталкивается, чтобы астральные персонажи пережили путешествие.
Это хорошо сочетается с другими инструментами декодирования на сайте. Процент закодированного текста в URL-адресе является задачей кодировщик urlдвоичный файл, закодированный по базе 64, обрабатывается конвертер base64. Они разные кодировки для разных транспортов, и знать, на какой из них вы смотрите, - это полдела.The Набор инструментов для веб-разработчиков в руководстве описывается, как эти инструменты кодирования сочетаются в повседневной работе.
Когда мне действительно понадобятся побеги CSS или JavaScript?
Чаще, чем вы ожидали, и обычно в тот же момент что-то не отображается. В CSS content собственность а ::before или ::after псевдоэлемент не может содержать произвольные символы непосредственно в каждой ситуации, поэтому вы избегаете их: становится стрелка, направленная вправо content: "\2192". Правила выхода из CSS, включая заднее пространство, завершающее выход из шестигранника, определены в Синтаксический модуль CSS, уровень 3, и преобразователь излучает именно эту форму, поэтому вы можете вставить ее прямо в таблицу стилей.
В JavaScript escapes позволяет вставить символ в исходный код, не завися от кодировки файла & #39;s или от правильного отображения его редактором. © однозначно, где буквальный символ авторского права может быть искажен инструментом в конвейере. Для персонажей за пределами базовой плоскости - ES6 \u{...} форма чище суррогатной пары, и конвертер использует ее для астральных символов, сохраняя при этом четырехзначный \uXXXX форма для символов, которые в него помещаются. HTML числовые ссылки на символы, the &#...; формы служат той же цели при наценке и регулируются Стандарт WHATWG HTML. Все это генерируется одним входом, означает, что вы перестаете угадывать синтаксис и каждый раз копируете правильный выход.
Какие обозначения мне следует использовать и когда?
С семью форматами вывода, предлагаемыми, практический вопрос заключается в том, какой из них хочет данная задача, и ответ почти всегда диктуется тем, где персонаж будет жить, а не предпочтениями. если вы пишете HTML и вам нужен символ, который неудобно вводить или который в противном случае был бы интерпретирован как разметка, используйте объект HTML: — или его шестигранный близнец —. Если символ переходит в строковый литерал JavaScript, используйте \u сбегите и потянитесь \u{...} форма, когда символ находится за пределами базовой плоскости. Если он принадлежит значению CSS, особенно content свойство, используйте CSS escape с его конечным пространством. если вы пишете спецификацию, комментарий или отчет об ошибке, где вы хотите однозначно назвать символ, не отображая его, форма кодовой точки U+ - это соглашение, которое каждый признает.
Десятичный и шестнадцатеричный выходы - это те, к которым люди обращаются реже, но они имеют значение, когда вы разговариваете с системой, которая говорит в необработанных числах: столбец базы данных, хранящий кодовые точки, протокол, который передает символы в виде целых чисел, поиск по файлу данных Unicode. Возможность перевернуть символ до его простого десятичного или шестнадцатеричного значения и обратно сохраняет преобразование базы вручную ровно в тот момент, когда вы уже находитесь глубоко в сеансе отладки.
Есть одно правило, которое разрезает все из них: какие бы обозначения вы ни издали, декодируйте его обратно и подтвердите, что вы получили исходный символ, прежде чем доверять ему. Round-tripping - это самая дешевая проверка правильности, и она сразу же улавливает две классические ошибки: искаженную суррогатную пару для астрального символа и выключенную на одну шестнадцатеричную цифру. конвертер делает эту проверку одной пастой в противоположном направлении. Если задействовано значение, чувствительное к безопасности, та же дисциплина применяется к процентному кодированию, обрабатываемому кодировщик url, где неправильный выход может изменить то, что на самом деле получает сервер.
Безопасно ли конвертировать здесь чувствительный текст?
Да. каждое преобразование происходит в JavaScript внутри вашего браузера. Ничего из вставленного вами не отправляется на сервер, ничего не регистрируется, и инструмент продолжает работать с отключенным соединением после загрузки страницы. Вы можете проверять частные строки, пользовательские данные или содержимое внутреннего файла, не покидая машину.
Это свойство не случайно, это причина предпочесть клиент-сторона инструмент для такого рода работы Текст, который вы запускаете через Unicode конвертер часто является именно тем текстом, который вы меньше всего хотели бы передать третьей стороне: реальный пользователь 's имя вы отлаживаете, фрагмент частного набора данных, строка из неизданной функции. конвертер на стороне сервера, каким бы надежным он ни был, является еще одной стороной в цепочке. выполнение работы в браузере снимает вопрос. более широкое рассуждение находится в онлайн-инструменты конфиденциальности данных руководство, и оно применяется к каждому инструменту кодирования на Toolz.dev, от этого до руководство по кодированию Base64 и за его пределами.
Часто задаваемые вопросы
Как конвертировать текст в Юникод?
Вставьте текст в область ввода с выбранным Encode и выберите формат, такой как кодовая точка или объект HTML. инструмент показывает представление Unicode каждого символа мгновенно, все внутри вашего браузера.
Что такое кодовая точка Юникода?
Кодовая точка - это число, которое Unicode присваивает символу, написанное как U+0041 для A. Он идентифицирует символ независимо от того, как он хранится, поэтому одна и та же кодовая точка может отображаться как объект HTML, выход из JavaScript или побег CSS.
В чем разница между кодовой точкой и UTF-8?
Кодовая точка - это абстрактное число для символа; UTF-8 - это один из способов сохранения этого числа в виде одного-четырех байтов. Таблица для каждого символа показывает оба, поэтому вы можете видеть, что U+00E9 для é хранится как два байта UTF-8 C3 A9.
Правильно ли он обращается с эмодзи?
Да. смайлики живут вне базового диапазона и хранятся как суррогатные пары в JavaScript. конвертер читает и записывает их по истинной кодовой точке, поэтому смайлик, подобный земле (U+1F30D), совершает обходные пути, не разделяясь на две разбитые половины.
Как декодировать Unicode, вернуться к тексту?
Переключитесь на Декодировать, вставьте закодированную строку и выберите соответствующий формат или используйте авто для его обнаружения. инструмент восстанавливает исходные символы, правильно комбинируя любые найденные суррогатные пары.
Когда мне понадобится побег из CSS?
Выходы CSS позволяют поместить символ в значение таблицы стилей, такое как свойство содержимого. инструмент выводит значения, такие как \41, с конечным пространством, которое CSS использует для завершения выхода шестигранника, готовый вставить в свойство содержимого.
Может ли он преобразовать один и тот же символ в несколько форматов одновременно?
Да. Выбор формата устанавливает основной вывод, а таблица для каждого символа всегда показывает кодовую точку, десятичное значение, объект HTML и байты UTF-8 для каждого символа, поэтому вы можете сразу прочитать несколько обозначений.
Безопасно ли конвертировать здесь чувствительный текст?
Да. все преобразование происходит в JavaScript внутри вашего браузера. ничего не отправляется на сервер, ничего не регистрируется, и инструмент работает с отключенным вашим соединением.
выше конвертер unicode является бесплатным, полностью запускается в вашем браузере и не требует регистрации. Кодируйте символ в любую запись, декодируйте его обратно и читайте необработанные байты за любым глифом. Исследуйте это рядом с таблица аскии и остальные инструменты кодирования включены Toolz.dev, йо-



