Tweet Thread Splitter
Prilepite dolgo objavo in jo razdelite v pravo nit X/Twitter z uporabo dejanskih uteženih pravil za štetje znakov – vsak URL šteje kot fiksnih 23 znakov in emoji astralne ravnine šteje pravilno – s pametnimi mejami odstavkov/stavkov/besed in številčenjem niti, ki rezervira svoj prostor.
Rezultat
Omejitev tweeta na 280 znakov ni preprosto preverjanje `text.length` in večina naivnih števcev znakov to napačno razume na pomembne načine. To orodje izvaja pravi algoritem utežene dolžine X/Twitter: vsaka kodna točka se išče v primerjavi z isto tabelo uteženega obsega, ki jo uporablja lastna knjižnica twitterjevih besedil platforme, kjer večina latiničnih, ciriličnih, grških in običajnih ločil šteje kot 1 znak, vendar vse zunaj teh razponov – ideografi CJK, večina emojijev, veliko simbolov – šteje kot 2. Enako pomembno je ponavljanje besedila z resnična kodna točka Unicode (ne neobdelane enote UTF-16) pomeni, da je emoji astralne ravnine, kot je nadomestni par obrazov ali zastavica, pravilno preštet enkrat, ne pa pomotoma dvakrat, kot bi to storilo naivno preverjanje `.length`.
Drugo pravo pravilo, ki ga je enostavno zgrešiti, to orodje pošteno izvaja: vsak http(s):// ali www. URL v vašem besedilu se šteje kot natanko 23 znakov, ne glede na to, ali ima dobesedna povezava 20 znakov ali 200. To je prava t.co-skrajšana dolžina X, ki nadomešča katero koli povezavo, kar pomeni, da ima tvit, poln dolgega URL-ja za sledenje, veliko več prostora za dejanske besede, kot bi predlagalo naivno štetje znakov – razdelilnik to upošteva, ko se odloča, kje se tvit konča.
Razdelitev dolge objave v nit je več kot le rezanje vsakih 280 znakov. To orodje deluje prek treh ravni mej po prednostnem vrstnem redu: najprej poskuša obdržati cele odstavke skupaj, se vrne k pravi hevristiki meje stavka, ko je odstavek predolg (razdelilnik na osnovi regularnega izraza, ki pozna razliko med piko na koncu stavka in tisto znotraj okrajšave, kot je »Dr.« ali »npr.« ali decimalne številke, kot je »3,14«), in se samo v skrajnem primeru prekine na posameznih besedah, ko celo en sam stavek. presega mejo — na vsaki ravni se URL obravnava kot en nedeljiv žeton in ni nikoli razdeljen na sredino.
Številčenje niti (»1/7«, »2/7«...) ima resničen rob, ki ga je enostavno zgrešiti: samo besedilo oštevilčevanja porabi znake v tweetu, ki mu je priloženo, širina tega oštevilčevanja pa je odvisna od skupnega števila tweetov, ki ga ne poznate, dokler ni opravljena razdelitev. To orodje to reši s ponovnim iterativnim razdelitvijo, pri čemer pred vsakim prehodom rezervira dejansko tehtano dolžino oštevilčenja, dokler se rezervirani proračun ne ujema z dejanskim posledično številom tvitov. Standardna omejitev 280 znakov se uporablja privzeto z iskreno opombo, da naročniki X Premium prejmejo veliko višjo omejitev dolge oblike (do približno 25.000 znakov) za objave, ki jim ni treba delovati kot javna nit – preklop vam omogoča, da preklopite na omejitev po meri, če je to tisto, kar ciljate.