Π’ срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ любой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сталкиваСтся с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ конфигурациями ΠΈΠ»ΠΈ внСшними систСмами, Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ часто становится ΠΊΠ°ΠΌΠ½Π΅ΠΌ прСткновСния ΠΈΠ·-Π·Π° своСй Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π£Π˜Π” Π² строку Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния Π² интСрфСйсС, Π½ΠΎ ΠΈ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ сСриализации Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… XML ΠΈ JSON, Π° Ρ‚Π°ΠΊΠΆΠ΅ для хранСния ссылок Π² тСкстовых полях Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм. ПониманиС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ прСдставлСния критичСски Π²Π°ΠΆΠ½ΠΎ для прСдотвращСния ошибок ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ, особСнности ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π² тСкстовоС прСдставлСниС Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° Уникального Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ΠΈΠ»ΠΈ GUID β€” Globally Unique Identifier) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ 16 Π±Π°ΠΉΡ‚ памяти. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ это Π½Π΅ строка, Π° спСцифичСский Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ массив, структура ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для быстрого сравнСния ΠΈ индСксации Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π±Π΅Π· явного прСобразования ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ Π² зависимости ΠΎΡ‚ контСкста Π²Ρ‹Π·ΠΎΠ²Π°. БистСма Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного указания Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° прСдставлСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ всСгда провСряйтС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ дСфисов. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ парсингС, Π½ΠΎ внСшниС систСмы часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ строгого соотвСтствия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ.

БущСствуСт Π΄Π²Π° основных способа хранСния этого значСния: "чистый" (Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ, 32 символа) ΠΈ стандартный (с дСфисами, 36 символов). Π’Ρ‹Π±ΠΎΡ€ зависит ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ стороны.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ссылок Π²Π½ΡƒΡ‚Ρ€ΠΈ 1Π‘, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это обСспСчиваСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ индСксу.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ прСобразования Π£Π˜Π” Π² строковоС прСдставлСниС

Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π² тСкст Π² языкС 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘Ρ‚Ρ€ΠΎΠΊΠ°() ΠΈΠ»ΠΈ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ строки трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ прСдставлСниС Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ с дСфисами: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΎΠ².

Однако для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ внСшниС систСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвисы ΠΈΠ»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, часто трСбуСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°() с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

  • πŸ”Ή Π€ΠΎΡ€ΠΌΠ°Ρ‚ D: ДСфисы Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ (36 символов), стандартноС прСдставлСниС 1Π‘.
  • πŸ”Ή Π€ΠΎΡ€ΠΌΠ°Ρ‚ N: ДСфисы ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ (32 символа), ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Π²ΠΈΠ΄ для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”Ή Π€ΠΎΡ€ΠΌΠ°Ρ‚ B: Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° с дСфисами.
  • πŸ”Ή Π€ΠΎΡ€ΠΌΠ°Ρ‚ P: Π‘ΠΊΠΎΠ±ΠΊΠΈ вмСсто Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ…, с дСфисами.
πŸ“Š Какой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π£Π˜Π” Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅?
Π‘ дСфисами (стандарт)
Π‘Π΅Π· дСфисов (ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚)
Π‘ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками
Π‘ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° влияСт Π½Π° Π΄Π»ΠΈΠ½Ρƒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ строки ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с внСшними API. НапримСр, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ REST-сСрвисы ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ 32-ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ строку Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ² прСпинания.

Π Π°Π±ΠΎΡ‚Π° с Π£Π˜Π” Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… XML ΠΈ JSON

ΠŸΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ XML ΠΈΠ»ΠΈ JSON ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ автоматичСски сСриализуСт Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Однако ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ настроСк записи.

Π’ JSON ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСтся ΠΊΠ°ΠΊ строка. Π’Π°ΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ (ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒJSON) систСма ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ распознавала эту строку ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π° Π½Π΅ оставляла Π΅Ρ‘ ΠΊΠ°ΠΊ тСкст.

Для явного контроля процСсса сСриализации рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π—Π°ΠΏΠΈΡΡŒJSON ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ значСния. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ потСрян ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ‡Π΅Ρ€Π΅Π· HTTP-соСдинСниС.

Π—Π°ΠΏΠΈΡΡŒ = Новый Π—Π°ΠΏΠΈΡΡŒJSON;

Π—Π°ΠΏΠΈΡΡŒ.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ();

Π—Π°ΠΏΠΈΡΡŒ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(ΠœΠΎΠΉΠ£Π˜Π”, Π’ΠΈΠΏ("Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€"));

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π—Π°ΠΏΠΈΡΡŒ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΠ˜ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ();

ΠŸΠΎΡ‡Π΅ΠΌΡƒ JSON ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π£Π˜Π”?

НСкоторыС старыС парсСры JSON Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ GUID 1Π‘ ΠΈ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ строку, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с XML ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы Π½Π΅ ΡΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ лишним ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, хотя сам GUID состоит ΠΈΠ· бСзопасных hex-символов.

ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΈΠ· строки Π² Π£Π˜Π”

Частая Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ строкового ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΎΡ‚ внСшнСй систСмы ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для поиска ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π±Π°Π·Π΅ 1Π‘. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструктор Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ функция Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€().

Если строка ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΎΡ‚ внСшнСй систСмы, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ рСгистр Π±ΡƒΠΊΠ² (хотя hex-символы рСгистронСзависимы, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСгистры Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ). ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ очистка строки ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

Входная строка Ѐункция прСобразования Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
"{A1B2...}" Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) УспСх
"A1B2..." (32 Π·Π½Π°ΠΊΠ°) Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) УспСх
"A1B2..." (15 Π·Π½Π°ΠΊΠΎΠ²) Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) Ошибка
ΠŸΡƒΡΡ‚Π°Ρ строка Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() НулСвой Π£Π˜Π”

ΠŸΡ€ΠΈ ошибкС прСобразования систСма выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ всСгда ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ чтСния Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°.

πŸ’‘

ВсСгда Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ строки ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дорогостоящих ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ГСнСрация Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния

Иногда трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Π΅ Π½Π΅ записан Π² Π±Π°Π·Ρƒ, ΠΈΠ»ΠΈ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструктор Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π’Ρ‹Π·ΠΎΠ² Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ случайный GUID, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ стандарту RFC 4122. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² распрСдСлСнных систСмах с высокой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС "Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ" ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, состоящСго ΠΈΠ· всСх Π½ΡƒΠ»Π΅ΠΉ. Он часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ отсутствия ссылки. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ прСдставлСниС Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π£Π˜Π” выглядит ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π½ΡƒΠ»Π΅ΠΉ, ΠΈ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π£Π˜Π” ΠΊΠ°ΠΊ ссылку Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’ запросах ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ссылка Π½Π° 00000000-0000-0000-0000-000000000000 ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ нСпрСдсказуСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° пустоту ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΡƒΡΡ‚ΠΎΠΉ(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°, Ссли всС Π±ΠΈΡ‚Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ. Π­Ρ‚ΠΎ быстрСС ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅, Ρ‡Π΅ΠΌ сравнСниС со строкой Π½ΡƒΠ»Π΅ΠΉ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ оптимизация

Π₯отя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π£Π˜Π” каТутся простыми, Π² высоконагруТСнных систСмах массовоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π£Π˜Π” Π² строку ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом. КаТдоС Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ выдСлСния памяти ΠΈ процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Если Π²Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ тысячи записСй Π² Ρ†ΠΈΠΊΠ»Π΅, ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΉ. Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π² Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ массивов ΠΈ структур, пСрСводя Π² строку Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ отобраТСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† с Ρ‚ΠΈΠΏΠΎΠΌ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ использованиС строк, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСксация ΠΏΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎ тСкстовому полю Π΄Π»ΠΈΠ½ΠΎΠΉ 36 символов.

β˜‘οΈ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π£Π˜Π”

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² запросах ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… сравнСниС ΠΏΠΎΠ»Π΅ΠΉ Ρ‚ΠΈΠΏΠ° Бсылка (Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранится Π£Π˜Π”) происходит ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ сравнСниС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… строк Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов процСссора.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π£Π˜Π” Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса?

Для получСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ БСанс.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для логирования дСйствий ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² распрСдСлСнной систСмС.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π£Π˜Π” ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

НСт, свойство Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² являСтся нСизмСняСмым послС записи. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π£Π˜Π” ΠΈ Бсылкой?

Бсылка β€” это слоТный Ρ‚ΠΈΠΏ, содСрТащий Π£Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±Π°Π·Π΅. Π£Π˜Π” β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 16-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π£Π˜Π” ΠΈΠ½ΠΎΠ³Π΄Π° отобраТаСтся Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС?

ΠŸΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π² строку ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр для ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… символов (a-f). Π­Ρ‚ΠΎ Π½Π΅ влияСт Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ hex-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° рСгистронСзависима.

Как ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСдсказуСмый Π£Π˜Π”?

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами 1Π‘ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСдсказуСмый (Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ) Π£Π˜Π” Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Для этого Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ внСшниС криптографичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° сторонС сСрвСра.