Spring til indhold

Tekst Delingsværktøj - Gratis Paste Bin til Kodestykker

Del tekst og kodestykker øjeblikkeligt med vores gratis paste bin-værktøj. Funktioner omfatter syntaksfremhævning, brugerdefineret udløb og entydige URL'er. Ingen tilmelding påkrævet!

Tekst Delingsværktøj

0 tegn
Indlæsningsberegner...
📚

Dokumentation

Værktøj til deling af tekst (pastebin)

Et værktøj til deling af tekst, ofte kaldet en pastebin, er en webside, hvor man kan indsætte en blok tekst eller kode og få et link tilbage, der viser teksten for alle, som åbner det. Dette pastebin-værktøj kører udelukkende i browseren, kræver ingen konto og kan tilføje valgfri syntaksfremhævning og en udløbstid til linket.

Sådan fungerer værktøjet til deling af tekst

De fleste pastebin-tjenester gemmer teksten på en server og returnerer et kort link, der peger på en række i en database. Dette værktøj fungerer anderledes. Det har hverken server eller database. I stedet pakker det hele pasteindholdet ind i selve linket.

Når nogen klikker på "Opret link", udfører værktøjet fire handlinger:

  1. Det opbygger et lille objekt, der indeholder teksten, det valgte sprog og udløbstiden (eller ingenting for "aldrig").
  2. Det konverterer objektet til én linje med JSON-tekst.
  3. Det omdanner JSON til bytes ved hjælp af UTF-8-kodningen, som bruges overalt på nettet.
  4. Det koder disse bytes som base64url, en ordning, der omdanner vilkårlige bytes til bogstaver, cifre, - og _, så resultatet er sikkert at bruge i en URL.

Den kodede tekst placeres efter #p= i slutningen af sidens URL. Alt efter # kaldes fragmentet. En browser sender aldrig fragmentet til en server, når den indlæser en side, så pasteindholdet bliver aldrig overført nogen steder. Læsning af linket igen foregår på samme måde i omvendt rækkefølge: base64url-teksten afkodes, bytesene omdannes til en JSON-streng med UTF-8, og JSON parses for at genskabe teksten, sproget og udløbstiden.

Fordi fragmentet indeholder hele pasten, fungerer et delingslink på enhver enhed eller i enhver browser, ikke kun i den, der oprettede det. Intet skal slås op. Det er nok at åbne linket for at få vist indholdet, ligesom åbning af en downloadet fil ikke kræver, at man spørger en server, hvad filen indeholder.

Værktøjet gemmer også en lokal kopi af hver paste i browserens lager som et praktisk kladdeeksemplar. Denne kopi hjælper kun den samme browser med at finde sine egne tidligere pastes igen; den spiller ingen rolle for, hvordan et delingslink åbnes, og sletning af den ødelægger ikke delingslinks, fordi linkene aldrig var afhængige af den.

Syntaksfremhævning

Syntaksfremhævning farvelægger dele af kode, f.eks. nøgleord, strenge og kommentarer, så strukturen bliver lettere at læse. Værktøjet understøtter ti muligheder:

  • Ren tekst (ingen fremhævning)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

Det valgte sprog gemmes i den kodede payload, så fremhævningen anvendes automatisk, når linket åbnes, uden at den, der ser det, skal vælge noget.

Udløbsformel

En udløbsindstilling angiver et absolut tidsstempel målt i millisekunder siden 1. januar 1970 (et almindeligt referencepunkt i databehandling, kaldet Unix-epoken). Værktøjet lægger en fast tidsperiode til det tidspunkt, hvor linket oprettes:

IndstillingTilføjet tid
Aldrigintet tidsstempel gemmes
1 time60 × 60 × 1.000 ms
1 dag24 × 60 × 60 × 1.000 ms
1 uge7 × 24 × 60 × 60 × 1.000 ms
1 måned30 × 24 × 60 × 60 × 1.000 ms (fast 30 dage, ikke en kalendermåned)

Hvis et link f.eks. oprettes, når uret viser 1.700.000.000.000 ms, og opretteren vælger "1 uge", er det gemte udløbstidspunkt:

1.700.000.000.000 + (7 × 24 × 60 × 60 × 1.000) = 1.700.604.800.000 ms

Når en bruger åbner linket, sammenligner værktøjet det gemte tidsstempel med det aktuelle tidspunkt. Hvis det gemte tidspunkt allerede er overskredet, viser værktøjet meddelelsen "Dette indhold er udløbet" i stedet for teksten. Da udløbstidsstemplet følger med teksten inde i linket, fungerer denne kontrol på samme måde på enhver enhed.

sådan bliver en paste til et link

Antag, at nogen deler ren tekst Hello, world! uden udløbstid. Værktøjet opbygger dette JSON-objekt ved hjælp af korte feltnavne for at holde linket kompakt:

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

Det koder JSON som UTF-8-bytes og derefter som base64url, hvilket giver:

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

Det fulde delingslink er sidens adresse plus dette token efter #p=:

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

Alle, der åbner linket, får en browser, der afkoder tokenet, læser Hello, world! som ren tekst og viser det. Der blev aldrig bedt en server om noget.

Sådan deler man tekst eller kode

  1. Skriv eller indsæt teksten i tekstfeltet. Et tegnantal opdateres, mens teksten skrives.
  2. Vælg eventuelt et sprog i menuen til syntaksfremhævning.
  3. Vælg eventuelt, hvor længe linket skal forblive gyldigt.
  4. Klik på "Opret link".
  5. Kopiér det genererede link med knappen "Kopiér link", og send det på den ønskede måde.

Sådan ser man delt tekst

  1. Åbn delingslinket.
  2. Teksten vises med det samme, med fremhævning hvis der blev valgt et sprog.
  3. Brug "Kopiér tekst" til at kopiere indholdet til udklipsholderen.
  4. Brug "Opret ny" til at starte en ny paste.

En paste kan ikke redigeres, efter at linket er oprettet. Hvis teksten skal ændres, skal der oprettes en ny paste, og det nye link skal deles.

Almindelige anvendelser

  • Udviklere, der deler et kodestykke til gennemgang eller hjælp til fejlfinding.
  • Lærere, der deler startkode eller instruktioner.
  • Alle, der flytter en blok tekst, f.eks. en liste eller et sæt noter, mellem to af deres egne enheder.

Til tekst, der skal kunne redigeres af flere personer på samme tid, er et værktøj til delte dokumenter bedre egnet. Til kode, der kræver en permanent historik, er et versionsstyringssystem som Git bedre egnet.

Begrænsninger og privatliv

Da hele pasten ligger i linket, er den praktiske størrelsesgrænse selve URL'ens længde og ikke en lagerkvote. Browsere kan håndtere lange URL'er, men mange e-mailprogrammer, chatapps og ældre systemer afkorter eller afviser meget lange URL'er, så ekstremt store pastes måske ikke kan sendes via alle kanaler. Korte og mellemstore pastes påvirkes ikke.

Fragmentet sendes aldrig til en server, så selve værktøjet får aldrig at vide, hvad der blev indsat. Alle, der har det nøjagtige link, kan åbne det, så et link bør behandles på samme måde som teksten, det indeholder: Del ikke adgangskoder eller andre følsomme data på denne måde, og offentliggør ikke linket, hvis indholdet skal forblive privat.

Ofte stillede spørgsmål

Hvor er den delte tekst egentlig gemt? Den er ikke gemt noget separat fra linket. Teksten, det valgte sprog og udløbstiden er alle kodet direkte i linkets fragment, den del efter #. Linket selv er den eneste kopi.

Virker linket på en anden enhed eller i en anden browser? Ja. Da indholdet følger med inde i linket, kan enhver enhed, der åbner det, afkode og vise indholdet. Der kræves hverken en konto eller den oprindelige browser.

Hvad sker der, hvis jeg rydder mine browserdata? Der sker ikke noget med eksisterende delingslinks. De afhænger ikke af noget, der er gemt i browseren, men kun af selve linket. Rydning af browserdata fjerner kun den lokale praktiske kopi af pastes, som browseren gemmer fra den pågældende enhed.

Kan jeg redigere en paste, efter at linket er oprettet? Nej. Der skal oprettes et nyt link ved enhver ændring, fordi indholdet er indlejret i linket på det tidspunkt, hvor det oprettes.

Hvad sker der, når en paste udløber? Åbning af et udløbet link viser en meddelelse om, at indholdet er udløbet, i stedet for den oprindelige tekst. Selve linket findes stadig; det viser blot ikke længere indholdet, når det gemte udløbstidspunkt er passeret.

Er der en størrelsesgrænse? Der er ingen fast lagergrænse, men meget lange URL'er kan blive afvist eller afkortet af visse e-mailklienter og beskedapps, så meget store pastes egner sig bedre til et særskilt fildelingsværktøj.

Referencer

  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