Liigu sisu juurde

Teksti Jagamise Tööriist - Tasuta Asetamise Vahend Koodilõikudele

Jagage teksti ja koodilõike koheselt meie tasuta asetamise vahendiga. Funktsioonid hõlmavad süntaksi esiletõstmist, kohandatavat aegumist ja ainulaadseid URL-e. Registreerumine pole vajalik!

Teksti Jagamise Tööriist

0 tähemärki
Laadimiskalkulaator...
📚

Dokumentatsioon

Teksti jagamise tööriist (pastebin)

Teksti jagamise tööriist, mida sageli nimetatakse pastebiniks, on veebileht, kuhu saab postitada tekstiploki või koodi ja saada vastu lingi, mis näitab seda teksti kõigile, kes selle avavad. See paste bin'i tööriist töötab täielikult brauseris, ei vaja kontot ning võib lingile soovi korral lisada süntaksi esiletõstu ja aegumisaja.

Kuidas teksti jagamise tööriist töötab

Enamik paste bin'i teenuseid salvestab teksti serverisse ja tagastab lühikese lingi, mis viitab andmebaasi reale. See tööriist toimib teisiti. Sellel pole serverit ega andmebaasi. Selle asemel pakib see kogu kleebitud teksti lingi sisse.

Kui keegi klõpsab nupul „Create Link“, teeb tööriist neli asja:

  1. See koostab väikese objekti, mis sisaldab teksti, valitud keelt ja aegumisaega (või suvandi „never“ korral mitte midagi).
  2. See teisendab objekti üheks JSON-teksti reaks.
  3. See teisendab JSON-i baitideks, kasutades UTF-8 kodeeringut, mida veebis kasutatakse kõikjal.
  4. See kodeerib baidid base64url-vormingusse – skeemi, mis teisendab suvalised baidid tähtedeks, numbriteks, - ja _ –, nii et tulemus on URL-is ohutu.

Kodeeritud tekst paigutatakse lehe URL-i lõppu pärast #p=. Kõike pärast # nimetatakse fragmendiks. Brauser ei saada lehe laadimisel fragmenti kunagi serverisse, seega paste'i sisu ei edastata kuskile. Lingi tagasilugemine toimub vastupidises järjekorras: base64url-tekst dekodeeritakse, baidid teisendatakse UTF-8 abil tagasi JSON-stringiks ning JSON parsitakse, et taastada tekst, keel ja aegumisaeg.

Kuna fragment sisaldab kogu paste'i, töötab jagamislink mis tahes seadmes või brauseris, mitte ainult selles, millega see loodi. Midagi pole vaja otsida. Lingi avamisest piisab sisu kuvamiseks, samamoodi nagu allalaaditud faili avamine ei nõua serverilt küsimist, mida fail sisaldab.

Tööriist säilitab mugavuse huvides iga paste'i brauseri salvestusruumis ka kohaliku koopiana ehk mustandina. See koopia aitab ainult samal brauseril oma varasemaid paste'e uuesti leida; jagatud lingi avamisel ei ole sellel mingit rolli ning selle kustutamine ei riku ühtegi jagamislinki, sest link ei sõltunud sellest.

Süntaksi esiletõst

Süntaksi esiletõst värvib koodi osi, näiteks võtmesõnu, stringe ja kommentaare, et struktuuri oleks lihtsam lugeda. Tööriist toetab kümmet võimalust:

  • Lihttekst (esiletõstuta)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

Valitud keel salvestatakse kodeeritud andmekogumi sisse, seega rakendatakse esiletõst automaatselt lingi avamisel ja vaataja ei pea midagi valima.

Aegumisaja valem

Aegumisvalik määrab absoluutse ajatempli, mida mõõdetakse millisekundites alates kuupäevast 1. jaanuar 1970 (levinud arvutustehnika lähtepunkt, mida nimetatakse Unixi epohhiks). Tööriist lisab lingi loomise hetkele kindla ajavahemiku:

ValikLisatav aeg
Mitte kunagiajatemplit ei salvestata
1 tund60 × 60 × 1 000 ms
1 päev24 × 60 × 60 × 1 000 ms
1 nädal7 × 24 × 60 × 60 × 1 000 ms
1 kuu30 × 24 × 60 × 60 × 1 000 ms (kindlad 30 päeva, mitte kalendrikuu)

Näiteks kui link luuakse hetkel, mil kell näitab 1 700 000 000 000 ms, ja looja valib „1 nädal“, on salvestatav aegumisaeg järgmine:

1 700 000 000 000 + (7 × 24 × 60 × 60 × 1 000) = 1 700 604 800 000 ms

Kui vaataja lingi avab, võrdleb tööriist salvestatud ajatemplit praeguse ajaga. Kui salvestatud aeg on juba möödunud, kuvab tööriist teksti asemel teate „This content has expired“. Kuna aegumise ajatempel liigub koos tekstiga lingi sees, töötab see kontroll ühtmoodi mis tahes seadmes.

Töötatud näide: kuidas paste'ist saab link

Oletame, et keegi jagab lihtteksti Hello, world! ilma aegumisajata. Tööriist koostab selle JSON-objekti, kasutades lingi kompaktsena hoidmiseks lühikesi väljanimesid:

1{"t":"Hello, world!","l":"plaintext","e":null}
2

See kodeerib JSON-i UTF-8 baitideks ja seejärel base64url-vormingusse, mille tulemuseks on:

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

Täielik jagamislink koosneb lehe aadressist ja pärast #p= paiknevast märgendist:

1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

Igaüks, kes selle lingi avab, saab brauseri, mis dekodeerib märgendi, loeb Hello, world! lihttekstina tagasi ja kuvab selle. Serverilt ei küsitud selleks kordagi midagi.

Kuidas jagada teksti või koodi

  1. Sisesta või kleebi tekst tekstikasti. Tähemärkide arv uueneb teksti sisestamise ajal.
  2. Soovi korral vali süntaksi esiletõstu menüüst keel.
  3. Soovi korral vali, kui kaua link kehtima jääb.
  4. Klõpsa „Create Link“.
  5. Kopeeri loodud link nupu „Copy Link“ abil ja saada see soovitud viisil.

Kuidas jagatud teksti vaadata

  1. Ava jagatud link.
  2. Tekst kuvatakse kohe, koos esiletõstuga, kui keel oli valitud.
  3. Kasuta sisu lõikelauale kopeerimiseks nuppu „Copy Text“.
  4. Kasuta uue paste'i alustamiseks nuppu „Create New“.

Paste'i ei saa pärast lingi loomist muuta. Teksti muutmiseks tuleb luua uus paste ja jagada uut linki.

Levinud kasutusalad

  • Arendajad, kes jagavad koodilõiku ülevaatamiseks või silumisega abi saamiseks.
  • Õpetajad, kes jagavad algkoodi või juhiseid.
  • Kõik, kes teisaldavad tekstiplokki, näiteks loendit või märkmeid, oma kahe seadme vahel.

Teksti puhul, mida peab saama korraga mitmel inimesel muuta, sobib paremini jagatud dokumendi tööriist. Püsivat ajalugu vajava koodi jaoks sobib paremini versioonihaldussüsteem, näiteks Git.

Piirangud ja privaatsus

Kuna kogu paste asub lingi sees, on praktiliseks suurusepiiranguks URL-i enda pikkus, mitte salvestusmaht. Brauserid saavad pikkade URL-idega hakkama, kuid paljud e-posti programmid, vestlusrakendused ja vanemad süsteemid kärbivad või lükkavad väga pikad URL-id tagasi, mistõttu ei pruugi väga suured paste'id kõigi kanalite kaudu hästi liikuda. Lühikesi ja keskmise pikkusega paste'e see ei mõjuta.

Fragmenti ei saadeta kunagi serverisse, seega tööriist ise ei saa kunagi teada, mida kleebiti. Igaüks, kellel on täpne link, saab selle avada, mistõttu tuleb linki käsitleda samamoodi nagu selles sisalduvat teksti: ära jaga sel viisil paroole ega muid tundlikke andmeid ning ära postita linki avalikku kohta, kui sisu peaks jääma privaatseks.

Korduma kippuvad küsimused

Kus jagatud teksti tegelikult hoitakse? Seda ei hoita lingist eraldi kusagil. Tekst, valitud keel ja aegumisaeg on kõik kodeeritud otse lingi fragmenti ehk selle pärast # paiknevasse ossa. Link ise on ainus koopia.

Kas link töötab teises seadmes või brauseris? Jah. Kuna sisu liigub lingi sees, saab iga seade, mis selle avab, sisu dekodeerida ja kuvada. Kontot ega algset brauserit pole vaja.

Mis juhtub, kui kustutan brauseri andmed? Olemasolevate jagamislinkidega ei juhtu midagi. Need ei sõltu millestki brauserisse salvestatust, vaid ainult lingist endast. Brauseri andmete kustutamine eemaldab ainult kohaliku mugavuskoopia paste'idest, mis selles seadmes loodi.

Kas saan paste'i pärast lingi loomist muuta? Ei. Iga muudatuse jaoks tuleb luua uus link, sest sisu kirjutatakse loomise ajal lingi sisse.

Mis juhtub, kui paste aegub? Aegunud lingi avamisel kuvatakse algse teksti asemel teade, et sisu on aegunud. Link ise on endiselt olemas, kuid pärast salvestatud aegumistähtaja möödumist ei kuva see enam sisu.

Kas suurusel on piirang? Kindlat salvestuspiirangut ei ole, kuid mõned e-posti kliendid ja sõnumirakendused võivad väga pikad URL-id tagasi lükata või neid lühendada, mistõttu sobivad väga suured paste'id paremini spetsiaalse failijagamisteenuse jaoks.

Viited

  1. "UTF-8." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/UTF-8
  2. "Base64." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/Base64
  3. "URL." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/API/URL
  4. "Syntax highlighting." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Syntax_highlighting
  5. "Unix time." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time