„Tweet“ gijų skaidytuvas
Įklijuokite ilgą įrašą ir padalykite jį į tikrą „X“ / „Twitter“ giją, naudodami tikrąsias svertinio simbolių skaičiavimo taisykles – kiekvienas URL adresas skaičiuojamas kaip fiksuoti 23 simboliai, o aukštesniosios plokštumos jaustukai apskaičiuojami teisingai – su išmaniosiomis pastraipų, sakinių ir žodžių ribomis bei gijos numeracija, kuri rezervuoja sau vietos.
🔒 Visiškai apdorojama jūsų naršyklėje – niekas, kurį čia įvedėte, niekada neįkeliama.
Rezultatas
280 simbolių „Twitter“ įrašo riba nėra paprastas `text.length` patikrinimas, ir dauguma naivių simbolių skaitiklių čia klysta, o tai yra svarbu. Šis įrankis įgyvendina tikrąjį „X“ / „Twitter“ svertinio ilgio algoritmą: kiekviena kodo pozicija patikrinama pagal tą pačią svertinių intervalų lentelę, kurią naudoja pačios platformos „twitter-text“ biblioteka; joje dauguma lotyniškų, kirilicos, graikiškų ir įprastų skyrybos ženklų skaičiuojami kaip 1, o viskas už šių intervalų – CJK ideogramos, dauguma jaustukų, daug simbolių – kaip 2. Ne mažiau svarbu yra tai, kad tekstas perrenkamas pagal tikrąsias „Unicode“ kodo pozicijas (ne pagal neapdorotus UTF-16 vienetus), todėl aukštesniosios plokštumos jaustukas, pavyzdžiui, surogatų poros veidukas ar vėliava, teisingai skaičiuojamas vieną kartą, o ne netyčia padvigubinamas, kaip nutiktų naudojant naivų `.length` patikrinimą.
Kita lengvai nepastebima tikroji taisyklė, kurią šis įrankis įgyvendina sąžiningai: kiekvienas http(s):// arba www. URL adresas jūsų tekste skaičiuojamas kaip tiksliai 23 simboliai, nesvarbu, ar tikroji nuoroda yra 20, ar 200 simbolių ilgio. Tai yra tikrasis „t.co“ sutrumpintos nuorodos ilgis, kurį „X“ pakeičia bet kuriai nuorodai; tai reiškia, kad įrašas, prikimštas ilgos sekimo nuorodos, turi daug daugiau vietos tikriems žodžiams, nei parodytų naivus simbolių skaitiklis – skaidytuvas į tai atsižvelgia, nuspręsdamas, kur įrašas turėtų baigtis.
Ilgo įrašo skaidymas į giją yra daugiau nei vien tik kirpimas kas 280 simbolių. Šis įrankis pereina tris ribų lygmenis pirmenybės tvarka: pirmiausia stengiasi išlaikyti vientisas pastraipas, tada, kai pastraipa per ilga, pasitelkia tikrąją sakinių ribų euristiką (reguliariosiomis išraiškomis grįstą skaidytuvą, kuris žino skirtumą tarp sakinio pabaigos taško ir taško santrumpoje, pvz., „dr.“ ar „t. t.“, arba dešimtainėje trupmenoje, pvz., „3,14“), ir tik kraštutiniu atveju skaido atskirais žodžiais, kai net vienas sakinys viršija limitą – kiekviename lygmenyje URL adresas laikomas nedalomu vienetu ir niekada neskaldomas per vidurį.
Gijos numeracija („1/7“, „2/7“…) turi tikrai lengvai nepastebimą kraštutinį atvejį: pats numeracijos tekstas užima simbolių prie jo pridedamame įraše, o šios numeracijos plotis priklauso nuo bendro įrašų skaičiaus, kuris nėra žinomas, kol skaidymas nėra baigtas. Šis įrankis tai išsprendžia iteratyviai perskaidydamas, prieš kiekvieną ciklą rezervuodamas tikrąjį svertinį numeracijos ilgį, kol rezervuotas simbolių skaičius sutampa su tikruoju galutiniu įrašų skaičiumi. Standartinė 280 simbolių riba naudojama pagal numatymą su sąžininga pastaba, kad „X Premium“ prenumeratoriai gauna daug didesnę ilgų įrašų ribą (iki maždaug 25 000 simbolių) įrašams, kuriems nereikia veikti kaip vieša gija – perjungiklis leidžia pasirinkti pasirinktinę ribą, jei taikotės būtent į ją.