- Загрузка из текстовый файла
- Загрузка из изображения (OCR)
- Отсканировать QR-код
- UTF-16LE
- UTF-32LE
- US-ASCII
- ISO-8859-1 (Latin-1)
- ISO-8859-15 (Latin-9)
- Windows-1252
- ISO-8859-2 (Latin-2)
- Windows-1250
- ISO-8859-3 (Latin-3)
- ISO-8859-4 (Latin-4)
- ISO-8859-13 (Latin-7)
- Windows-1257
- Shift_JIS
- EUC-JP
- ISO-2022-JP (JIS)
- GB2312 (EUC-CN)
- GB18030
- Big5-HKSCS
- EUC-KR (KS X 1001)
- ISO-2022-KR
- ISO-8859-5
- Windows-1251
- KOI8-R
- KOI8-U
- ISO-8859-6
- Windows-1256
- ISO-8859-7
- Windows-1253
- ISO-8859-8
- Windows-1255
- ISO-8859-9 (Latin-5)
- Windows-1254
- TIS-620
- Windows-874
- Windows-1258
Декодировано
Unicode Escape |
---|
Закодировано
Unicode Escape |
Формат
A-F
|
---|
О эскейп-последовательность Unicode
Эскейп-последовательность Unicode преобразуют один символ в формат 4-значного шестнадцатеричного кода, например \uXXXX. Например, «A» станет «\u0041».
В DenCode, помимо формата \uXXXX, также поддерживаются следующие форматы обозначений.
Формат | Результат преобразования «ABC» | Описание / Язык программирования |
---|---|---|
\uXXXX | \u0041\u0042\u0043 | Общие эскейп-последовательность Unicode |
\u{X} | \u{41}\u{42}\u{43} | Lua |
\x{X} | \x{41}\x{42}\x{43} | Perl |
\X | \41\42\43 | CSS |
&#xX; | ABC | HTML, XML |
%uXXXX | %u0041%u0042%u0043 | Процентное кодирование (Нестандартный) |
U+XXXX | U+0041 U+0042 U+0043 | Стандартная запись Unicode для кодовых точек (разделенные пробелами) |
0xX | 0x41 0x42 0x43 | Шестнадцатеричная запись кодовых точек (разделенные пробелами) |
Некоторые из этих форматов упоминаются в RFC 5137 (ASCII Escaping of Unicode Characters) как BEST CURRENT PRACTICE, но не существует международного стандарта и т.д.
Формат %uXXXX поддерживается Microsoft IIS, но является нестандартным. Его можно закодировать в формате %u с помощью System.Web.HttpUtility.UrlEncodeUnicode в C#, но этот метод устарел с версии .NET Framework 4.5.
Обратите внимание, что в формате \X пробел рассматривается как разделитель и игнорируется при декодировании, как указано в CSS. В форматах U+XXXX и 0xX при кодировании каждый символ отделяется одним пробелом, а при декодировании, как и в формате \X, последующий подряд один пробел игнорируется.
Экранирование по имени Unicode
В качестве управляющих последовательностей Unicode также поддерживается экранирование по имени Unicode.
Формат | Результат преобразования «A» | Описание / Язык программирования |
---|---|---|
\N{name} | \N{LATIN CAPITAL LETTER A} | C++23, Python, Perl |
Имена Unicode можно найти в Names List Charts - Unicode или NamesList.txt - Unicode.
Символы Unicode, отличные от BMP, в эскейп-последовательность Unicode
Для символов Unicode, не относящихся к BMP, кодовые точки не умещаются в четыре цифры, поэтому они выражаются в следующей форме обозначения для каждого языка программирования.
Результат преобразования «😀» (U+01F600), который является символом Unicode, отличным от BMP, выглядит следующим образом.
Формат | Результат преобразования «😀» (U+01F600) | Язык программирования |
---|---|---|
\uXXXX | \uD83D\uDE00 | Java, Kotlin, Scala |
\u{X} | \u{1F600} | C++23, Rust, Swift, JavaScript, PHP, Ruby, Dart, Lua |
\U00XXXXXX | \U0001F600 | C, C++, Objective-C, C#, Go, Python, R |
\x{X} | \x{1F600} | Perl |
\X | \1F600 | CSS |
&#xX; | 😀 | HTML, XML |
%uXXXX | %uD83D%uDE00 | - |
U+XXXX | U+1F600 | - |
0xX | 0x1F600 | - |
\N{name} | \N{GRINNING FACE} | C++23, Python, Perl |
В форматах \uXXXX и %uXXXX не-BMP символы представлены двумя кодовыми единицами в виде суррогатных пар UTF-16. В других форматах символ представлен одной кодовой точкой.