ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Base62 (Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅)

100% ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр). ΠšΠΎΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹/Π±Π°ΠΉΡ‚Ρ‹ Π² тСкст Base62 с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ пСрСносом строк ΠΈ построчной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ строгой Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ data: URI ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π±Π°ΠΉΡ‚Ρ‹.

Loading…

О ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Base62 (Π‘ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот инструмСнт для кодирования Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Π±Π°ΠΉΡ‚ΠΎΠ²) Π² тСкст Base62 для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² систСмах, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ… Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π₯отя эта страница ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для кодирования, ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ дСкодирования для прСобразования Base62 ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ локально Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ (Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ), ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠΌ Base62, ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ пСрСносом строк, раздСлитСлями ΠΈ ΡΡ‚Ρ€ΠΎΠ³ΠΎΡΡ‚ΡŒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π² соотвСтствии с вашими трСбованиями.

ВозмоТности

  • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°/пСрСтаскиваниС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (.bin, .dat, Π°Ρ€Ρ…ΠΈΠ²Ρ‹) с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Π”Π²Π° дСйствия: ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ β†’ тСкст Base62) ΠΈ Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (тСкст Base62 β†’ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ»)
  • Π’Ρ‹Π±ΠΎΡ€ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°: 0-9A-Za-z (стандартный), 0-9a-zA-Z, A-Za-z0-9, a-zA-Z0-9
  • ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос строк (Ρ€Π΅ΠΆΠΈΠΌ кодирования): пСрСнос Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Π΅ столбца ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (0)
  • Π’Ρ‹Π±ΠΎΡ€ раздСлитСля строк: LF ( ) ΠΈΠ»ΠΈ CRLF ( ) для Π²Ρ‹Π²ΠΎΠ΄Π° с пСрСносом
  • ΠŸΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° для многострочных Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° каТдая строка β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Base62)
  • Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ прСфикс data:*;base62, (ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎ)
  • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ строгой Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ для отклонСния нСдопустимых символов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°
  • Π Π΅ΠΆΠΈΠΌ ΠΆΠΈΠ²ΠΎΠ³ΠΎ прСдпросмотра для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ²)
  • 100% ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр).

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for base62-binary-encoder

1

ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» (ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ тСкст Base62)

Для кодирования ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Для дСкодирования Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ тСкст Base62 (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ с прСфиксом data:*;base62, Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ).

2

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ дСйствиС/Ρ€Π΅ΠΆΠΈΠΌ ΠΈ запуститС

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "ДСйствиС" (ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ), Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Для кодирования Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ "Алфавит" ΠΈ ΠΏΡ€ΠΈ нСобходимости установитС "ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк Π½Π°" ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ строк. Для дСкодирования Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ "Π‘Ρ‚Ρ€ΠΎΠ³ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ" для Ρ€Π°Π½Π½Π΅Π³ΠΎ обнаруТСния нСдопустимых символов ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ прСфикс data:*;base62,", Ссли ваш Π²Π²ΠΎΠ΄ содСрТит Π΅Π³ΠΎ.

3

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

ПослС кодирования скопируйтС Π²Ρ‹Π²ΠΎΠ΄ тСкста Base62 (с пСрСносом ΠΈ раздСлитСлями согласно настройкам). ПослС дСкодирования Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ восстановлСнный Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (ΠΏΡ€Π°Π²ΠΈΠ»Π° имСнования ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ .b62, Ссли присутствуСт, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ .bin ΠΏΡ€ΠΈ нСобходимости).

ВСхничСскиС характСристики

МодСль выполнСния

РаскрытиС срСды выполнСния, ограничСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ….

АспСктДСтали
Π Π΅ΠΆΠΈΠΌ100% ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр).
ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ β†’ тСкст Base62 (основноС), плюс Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Base62 β†’ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π€Π°ΠΉΠ»/Blob/Uint8Array/ArrayBuffer/TypedArray. Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π‘Ρ‚Ρ€ΠΎΠΊΠ° Base62 (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ с прСфиксом data:*;base62)
Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ВСкст Base62. Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π±Π°ΠΉΡ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ~1–2 ΠœΠ‘ символов; Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ ~25000 мс
Π‘ΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ данныхВся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° происходит локально Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ (Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр)
Для ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (сСкрСты, ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹) ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ„Π»Π°ΠΉΠ½- ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹.

Мини-ΠΏΡ€ΠΈΠΌΠ΅Ρ€

НСбольшая байтовая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, закодированная с использованиСм стандартного Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° Β«0-9A-Za-zΒ». Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ зависит ΠΎΡ‚ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈ настроСк пСрСноса строк.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ (hex)00 01 02 03 04 05 06 07 08 09
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (Base62)(зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ/Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°)
Π§Ρ‚ΠΎ влияСт Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос строк, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ строк, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ построчно
Base62 Π½Π΅ являСтся Π΅Π΄ΠΈΠ½Ρ‹ΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ стандартом, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ RFC 4648 Base64. ВсСгда сохраняйтС Π°Π»Ρ„Π°Π²ΠΈΡ‚ согласованным ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ.

Ошибки ΠΈ ΠΊΡ€Π°ΠΉΠ½ΠΈΠ΅ случаи

РаспространённыС сбои ΠΈ способы ΠΈΡ… устранСния.

БимптомВСроятная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ
Для дСкодирования Π²Π²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ строкойВы ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ прСдоставили Π±Π°ΠΉΡ‚Ρ‹/Ρ„Π°ΠΉΠ» вмСсто тСкста Base62УстановитС дСйствиС Β«Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ тСкст Base62; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» для Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²
Π­Ρ‚ΠΎΡ‚ инструмСнт ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅... Π° Π½Π΅ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строкуВы ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, вставив тСкст Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» (ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π±Π°ΠΉΡ‚Ρ‹). Если трСбуСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкст→байты, сначала ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тСкстовый инструмСнт
Ошибка строгой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ / нСдопустимыС символыВвод содСрТит символы, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ Base62 (ΠΈΠ»ΠΈ содСрТит Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ/прСфиксы)Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π°Π»Ρ„Π°Π²ΠΈΡ‚, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Β«Π‘Ρ‚Ρ€ΠΎΠ³ΠΈΠΉΒ» для тСстирования нСстрогого Π²Π²ΠΎΠ΄Π° ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹; Ссли Π²Π²ΠΎΠ΄ содСрТит data:*;base62, прСфикс, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Β«ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ data URIΒ»
Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» выглядит поврСТдённымНСсоотвСтствиС Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ использовал Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Base62Π‘Π²Π΅Ρ€ΡŒΡ‚Π΅ порядок Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ (0-9A-Za-z ΠΏΡ€ΠΎΡ‚ΠΈΠ² 0-9a-zA-Z ΠΈ Ρ‚.Π΄.) ΠΈ сохраняйтС Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ с ΠΎΠ±Π΅ΠΈΡ… сторон
НСоТиданныС пСрСносы строк ΠΈΠ»ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±Π»ΠΎΠΊΠΎΠ²Π’Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ пСрСносится ΠΈΠ»ΠΈ Π²Ρ‹ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ использовали ΠΏΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ обработкуДля Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° установитС Β«ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ строки Ρ‡Π΅Ρ€Π΅Π·Β» 0 ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ lineByLine; для многозаписных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ lineByLine ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ каТдая строка содСрТит ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ Base62
Блишком большой Π²Π²ΠΎΠ΄ (макс. 2 ΠœΠ‘) / ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΎ врСмя оТиданияПолСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ бСзопасныС Π»ΠΈΠΌΠΈΡ‚Ρ‹ ΠΈΠ»ΠΈ устройство ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Live preview ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ скрипт/инструмСнт для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠžΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π²ΠΎΠ΄Π°

Как ΠΎΠΏΡ†ΠΈΠΈ интСрфСйса Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ кодирования/дСкодирования.

ΠžΠΏΡ†ΠΈΡΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ ΠΊΠ­Ρ„Ρ„Π΅ΠΊΡ‚
Π”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚Ρ‹ Π² тСкст Base62; Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ тСкст Base62 Π² Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
ΠΠ»Ρ„Π°Π²ΠΈΡ‚ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ порядок Π½Π°Π±ΠΎΡ€Π° ΠΈΠ· 62 символов. Π”ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ дСкодирования.
ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк наВолько кодированиСЕсли > 0, вставляСт пСрСносы строк Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Π΅; 0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ пСрСнос.
Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΡΡ‚Ρ€ΠΎΠΊΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, какая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠΉ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ пСрСносС ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ построчного Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°: LF ΠΈΠ»ΠΈ CRLF.
Live previewΠžΠ±Π°ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈ запускаСтся ΠΏΡ€ΠΈ измСнСниях (Π»ΡƒΡ‡ΡˆΠ΅ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Π²ΠΎΠ΄ΠΎΠ²). ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ².
ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΠΎΠžΠ±Π°Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ запись. ПолСзно для списков/ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Base62.
ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ прСфикс data:*;base62,Волько Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Π²ΠΎΠ΄Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с прСфикса, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° data URI, Ρ‡Ρ‚ΠΎΠ±Ρ‹ инструмСнт ΠΌΠΎΠ³ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
Бтрогая Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡΠ’ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠžΡ‚ΠΊΠ»ΠΎΠ½ΡΠ΅Ρ‚ символы Π²Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈ выявляСт Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π²Π²ΠΎΠ΄Ρ‹ Π½Π° Ρ€Π°Π½Π½Π΅ΠΌ этапС.
Если Π²Ρ‹ Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ источник, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ с опрСдСлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ зафиксируйтС этот Π²Ρ‹Π±ΠΎΡ€ Π²Π΅Π·Π΄Π΅ (Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, CI ΠΈ ΠΊΠΎΠ΄Π΅).

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π΅Ρ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ CLI для Base62. Для воспроизводимых Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² CI ΠΈΠ»ΠΈ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ явно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ сопоставлСниС Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ вашСй систСмой.

ВсС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Python)

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Base62 с использованиСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (зафиксируйтС Π²Π΅Ρ€ΡΠΈΡŽ + Π°Π»Ρ„Π°Π²ΠΈΡ‚)

python -c "import sys; print('Base62 Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Base62, зафиксируйтС Π΅Ρ‘ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ явно настройтС Π°Π»Ρ„Π°Π²ΠΈΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0-9A-Za-z ΠΏΡ€ΠΎΡ‚ΠΈΠ² 0-9a-zA-Z).')"

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Base62. Для коррСктности ΠΈ воспроизводимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, зафиксируйтС Π²Π΅Ρ€ΡΠΈΡŽ зависимости ΠΈ сохраняйтС Π°Π»Ρ„Π°Π²ΠΈΡ‚ согласованным ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами.

Node.js

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Base62 с использованиСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π»Ρ„Π°Π²ΠΈΡ‚)

node -e "console.error('Base62 Π½Π΅ встроСн Π² ядро Node. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Base62, зафиксируйтС Π΅Ρ‘ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅/настройтС Π°Π»Ρ„Π°Π²ΠΈΡ‚ (0-9A-Za-z, 0-9a-zA-Z ΠΈ Ρ‚.Π΄.), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСсоотвСтствий.')"

Node Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ΄Π΅ΠΊ Base62 Π² ядро. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π°Π»Ρ„Π°Π²ΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ совмСстимыми с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования

ВстраиваниС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² тСкстовыС ΠΊΠ°Π½Π°Π»Ρ‹

  • ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ JSON, YAML ΠΈΠ»ΠΈ систСм, управляСмых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
  • ОбмСн тСстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ тСкста Base62, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с сырыми Π±Π°ΠΉΡ‚Π°ΠΌΠΈ
  • Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠ² с ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ

ВСстированиС совмСстимости ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°ΠΌΠΈ

  • Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… порядках Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠ² для понимания ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ совмСстимости
  • ОбъяснСниС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Base64 (стандартизированным) ΠΈ Base62 (зависящим ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°)
  • ДСмонстрация ваТности строгой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ явного указания Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² CI

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Ρ‡Ρ‚ΠΎ сгСнСрированный Base62 ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ дСкодируСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π±Π°ΠΉΡ‚Ρ‹ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°)
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° Π²ΠΎ всСх рСпозиториях для воспроизводимости сборок
  • Нормализация пСрСносов/Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ сравнСний (diff)

Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ нСоднозначности ΠΈ рисков ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ строгой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ для Ρ€Π°Π½Π½Π΅Π³ΠΎ отклонСния Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… символов
  • ИзбСганиС копирования сСкрСтов Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Π΅ инструмСнты; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ скрипты для ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ фиксация Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° для прСдотвращСния случайной ΠΏΠΎΡ€Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами

❓ Frequently Asked Questions

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ этого инструмСнта ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ API?

НСт. Π­Ρ‚ΠΎ инструмСнт, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΈ ΠΎΠ½ Π½Π΅ прСдоставляСт ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ API.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° происходит локально ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ?

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° 100% происходит Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр). Всё ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ выполняСтся локально Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

МоТно Π»ΠΈ бСзопасно ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ здСсь сСкрСты ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹?

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ этого. Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ локальной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сСкрСты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ раскрыты Ρ‡Π΅Ρ€Π΅Π· ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°, ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π° ΠΎΠ±Ρ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. Для ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅/Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ инструмСнты.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ/Ρ€Π°Π·Π±ΠΎΡ€Π°?

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сбоСв происходит ΠΈΠ·-Π·Π° нСсоотвСтствия Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… прСфиксов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, data:*;base62,), ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²/пСрСносов строк ΠΈΠ»ΠΈ символов, Π½Π΅ входящих Π² Base62. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ "Алфавит", Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ прСфикс data:*;base62," Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ "Π‘Ρ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСдопустимыС символы.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΉ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½, хотя Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ?

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Base62 Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ порядком Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. Если источник использовал Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Π»Ρ„Π°Π²ΠΈΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0-9a-zA-Z вмСсто 0-9A-Za-z), Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹, Π½ΠΎ Π½Π΅ исходноС содСрТимоС. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ источника ΠΈ сохраняйтС Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅.

Pro Tips

Best Practice

РассматривайтС Base62 ΠΊΠ°ΠΊ вариантозависимый: всСгда записывайтС Π°Π»Ρ„Π°Π²ΠΈΡ‚ (0-9A-Za-z vs 0-9a-zA-Z ΠΈ Ρ‚.Π΄.) вмСстС с ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

Best Practice

Для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² оставляйтС пСрСнос строк ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΌ (wrapLineLength=0), Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ вас Π½Π΅Ρ‚ транспортного уровня, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π³ΠΎ строк фиксированной ΡˆΠΈΡ€ΠΈΠ½Ρ‹.

Best Practice

Π’ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅: ΠΎΠ½Π° Ρ€Π°Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ символы ΠΈ нСсоотвСтствия Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

CI Tip

Π’ CI Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ цикличСский тСст (ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β†’ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) Π½Π° Ρ€Π΅ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ зафиксируйтС Π²Π΅Ρ€ΡΠΈΡŽ вашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Base62.

Additional Resources

Other Tools