AI матнни қисқартиряпти: лимит белгими ёки байтми?
AI матнни қисқартиряпти: лимит белгими ёки байтми?
Сиз Аи’дан номни формадаги лимитгача қисқартиришни сўрайсиз. Кўринишидан сиғади, аммо юклаш яна рад етилади. Сўзларни олиб ташлашдан олдин қабул қилувчи тизим нимани санашини аниқланг: байт ва кўринадиган белги бир хил емас.
Пйтҳон Униcоде HOWTO сатрни код нуқталари кетма-кетлиги деб тушунтиради; кодлаш еса уни байтларда ифодалайди. Текширдик: «абc» ва «абв» учта код нуқтасидан иборат, лекин UTF-8’da мос равишда уч ва олти байт егаллайди. Демак, Пйтҳон’даги лен(техт) кодланган ма’лумот узунлигини текшириш ўрнини босмайди.
Ёрдамчига аниқ шарт беринг: Майдон лимити — UTF-8’da [Н] байт. Матннинг қисқа вариантини тайёрла. Пйтҳон’да лен(техт.енcоде('utf-8')) ни текшир. Якуний матн, байт сони ва ҳақиқий бажариш натижасини кўрсат. Тайёр байтлар кетма-кетлигини кесма; код бажарилмаса, очиқ айт. Лимит бирлиги нома’лум бўлса, «жуда узун» хабаридан тахмин қилманг: аввал форма ёки API ҳужжатидан топинг.
Код нуқталари сони ҳам доим кўринадиган белгилар сонига тенг емас: синовимизда алоҳида урғу белгиси билан ёзилган е иккита код нуқтасидан иборат бўлди. Айнан охирги вариантни текширинг: қўшилган қўштирноқ ёки имзо узунликни ўзгартиради. Аи’дан фақат матнни қисқартиришни емас, лимит белгиланган бирликда текширишни сўранг.

